为什么Jquery没有看到唯一的id?

时间:2016-10-27 19:36:23

标签: jquery

我有一个页面,其中包含使用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>

1 个答案:

答案 0 :(得分:2)

那是因为你做var tableid = $('.table').attr('id');

这不仅限于您正在使用的当前表单,还包括整个文档。

<强>更新

如果.table直接跟在表单元素后面,那么执行

var tableid = $(this).next();

原创无效,因为.table不在表单

在查找表时尝试使用上下文,如下所示( this指向表单,因此它将查找该表单中的.table )< / p>

var tableid = $('.table', this).attr('id');