我需要拉,分解成一个整数,并在jQuery中存储第二个元素中的第二个元素,其中包含“.admin-product”类。
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':$( '管理员产物:第n个孩子(-n + 2) ')。ATTR(' 编号')分裂( “ - ”)[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);
}
答案 0 :(得分:1)
这是一种非常基本的古老方式:
var elements = $('.admin-product');
var len= elements.length;
var element = elements[len-2];
var data= $(element).attr('id');
var id= data.split('-')[1];
你可以简单地做
var id = $('.admin-product:nth-last-child(2)').attr('id').split('-')[1];
更新:fiddle
答案 1 :(得分:1)
听起来你感兴趣的是一些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;
答案 2 :(得分:0)
尝试一下:
var ele = $(".admin-product").length;
var id = $(".admin-product:eq(" + (ele - 3) + ")").attr('id').split('-')[1];
Let me know if it doesn't work.