我有一个页面,其中包含使用ajax获取的动态表单和表格。我试图根据按下哪个表单提交按钮来定位每个表,但由于某种原因,jquery似乎没有看到表的唯一ID。我怀疑jquery只是获取第一个表的id但我不明白为什么?
console.log(tableid)
在我按下的所有提交按钮上打印myTable1
但是检查页面上的html显示我myTable
的所有ID都是唯一的,例如{{1} .....等等。
动态表格和表格
myTable1,myTable2,myTable3
jquery(在表单和表格的另一个页面上)
<form id="myForm" class="myForm" action="" method="post" style="">
<input type="hidden" name="page_id" value="'.$id.'">
<button type="submit" class="fabutton"></i></button>
</form> <!--END OF FORM---->
<table id="myTable'.$i.'" class="table"><!--$i increments by 1 with each form---->
<tbody>
<tr>
</tr>
</tbody>
</table>
答案 0 :(得分:2)
那是因为你做var tableid = $('.table').attr('id');
这不仅限于您正在使用的当前表单,还包括整个文档。
<强>更新强>
如果.table
直接跟在表单元素后面,那么执行
var tableid = $(this).next();
原创(无效,因为.table
不在表单中
在查找表时尝试使用上下文,如下所示( this
指向表单,因此它将查找该表单中的.table
)< / p>
var tableid = $('.table', this).attr('id');