我有以下'html'代码:
<div class="userbox" id="'.$data[0]->id.'">
<form action="schedule.php?page=management&ajax=true" method="post">
<input type="hidden" name="id" value="'. $data[0]->id .'" class="id">
<input type="submit" name="remove_entry" value="x" class="ajax_btn">
</form>
</div>
以下的JS代码:
$(document).ready(
function () {
$('.userbox form').on('submit', function(ev) {
ev.preventDefault();
var idVal = $('.id').val();
alert(idVal);
$.post("schedule.php?page=management&ajax=true", { id : idVal }, function (data) {
$("#" + idVal + ".userbox").remove();
$("#" + idVal + ".user_data").css('background-color', '#FFFFFF');
}
);
});
});
我正在尝试从表单中获取id的值(考虑到页面上有多个表单)但它抓取页面上的第一个id而不是提交表单中的id。你们有什么建议吗?
答案 0 :(得分:1)
您使用的查询选择器($('。id'))正在整个文档中搜索类别为“id”的节点,并且不限于提交的表单。
尝试定义范围并在内部搜索,如下所示:
$('.userbox form').on('submit', function(ev) {
var scope = $(this);
var idVal = scope.find('.id').val();
// ....
}
答案 1 :(得分:1)
您可以按名称
选择输入var idVal = $(this).find( "input[name*='id']" ).val();