我需要提取并分解为整数,然后将最后一个元素中的第二个与类“ .admin-product”一起存储在jQuery中。
该ID将类似于“ admin-42”,我需要将其存储为数字42。
存储的变量通过我的AJAX处理程序发送,并将在那里进行操作和使用。
这是我当前的代码:
$(document).on('click', '.create-btn', function() {
var data = {'id':$('.admin-product:last').attr('id'),
'username':$('#ausername').val(),
'email':$('#aemail').val(),
'password':$('#apassword').val()};
ShowCreateLoadingScreen("Creating...");
AjaxHandler('library/ajax/ajax.admin-account-create.php', data, 'POST', true);
});
有任何想法吗?
编辑:
最好采用以下格式:ish:
$id = filter_input(INPUT_POST, 'id', FILTER_VALIDATE_INT);
编辑:
以下代码将数字存储为2。
{'id':$('。admin-product:nth-child(-n + 2)')。attr('id')。split(“-”)[1]
编辑:
我的标记是通过解析器生成的,它的代码在这里,基本上重写同一行的次数与数据库中仍然存在信息的次数相同。
if($stmt->num_rows > 0) {
$stmt->bind_result($aId, $aUsername, $aPassword, $aEmail);
while($stmt->fetch()) {
$html .= file_get_contents(ROOT_LIB . 'html/admin-accounts/row-user.html');
$rowNumber = $aId;
$replace = array(
'userHere' => $aUsername,
'emailHere' => $aEmail,
'passHere' => ' ',
'IdHere' => $aId,
'buttonDisplay' =>
'<button type="button" data-id="'.$aId.'" name="edit" class="btn btn-info edit-product span6" title="Edit Account" value="Edit">Edit</button>
<button type="button" data-id="'.$aId.'" name="delete" class="btn delete-btn btn-danger span6" title="Delete Account" value="Delete">Delete</button>'
);
$parser = new Parser($replace);
$parser->ParseHtml($html);
}
最佳答案
听起来您感兴趣的是某些DOM元素的ID号。在这种情况下,“ ID号”是元素的HTML ID的后缀。因此,我要做的是构造一个上述ID编号的列表:
var idNums = $('.admin-product').toArray()
.map(function(domElt){
return Number(domElt.id.split('-')[1]);
});
请注意,如果存在类
admin-product
的任何元素,但它们的ID格式均不正确,则会导致元素的值为NaN
;如果需要,可以使用Array.prototype.filter
删除那些内容。然后可以很容易地获得倒数第二个(倒数第二个)ID(如果只有一个元素则很安全):
var penultimateIdNum = idNums.length>1 ? idNums[idNums.length-2] : null;
演示:http://jsfiddle.net/3SvxB/