我有一个由多个表组成的页面,每个表都包含一个表单的唯一ID。 如何获取单击提交按钮的表的ID? 我最终想使用id作为选择器来显示数据。 See my demo
Jquery
$(document).ready(function() {
$('.myForm').submit(function(e) {
var data = $('table').attr('id');
alert(data);
e.preventDefault();
});
});
html
<form id="myForm" class="myForm" action="" method="post">
<table id="mytable1">
<tbody>
<tr>
<td>
my table 1
</td>
</tr>
</tbody>
</table>
<button type="submit" name="submit3">Submit
</button>
</form>
<form id="myForm" class="myForm" action="" method="post">
<table id="mytable2">
<tbody>
<tr>
<td>
my table 2
</td>
</tr>
</tbody>
</table>
<button type="submit" name="submit3">Submit
</button>
</form>
答案 0 :(得分:2)
这应该这样做:
var data = $(this).find('table').attr('id')
(哈。明白吗?这个应该这样做吗?我是一个笑骚乱。)
这将为您提供已提交的表单,因此查找其中的表格应该可以满足您的需求。
答案 1 :(得分:1)
如果table
元素始终位于表单中,则可以使用children
函数。它的一个好处是它应该更快地工作,因为它只遍历父级内的元素,并且不会遍历所有级别的HTML。
$(function() {
$('.myForm').submit(function(e) {
e.preventDefault();
var table = $(this).children('table').attr("id");
//do something with table
});
});
否则,科林所建议的find
肯定是最好的选择。