我有一个JSP页面,我在其中基于来自数据库的查询动态创建表。我有一个单选按钮作为每行的第一列。我希望点击特定的单选按钮,该行中的所有元素值都会传递给一个按钮。
答案 0 :(得分:2)
向单选按钮添加click
处理程序,可能使用以表为基础的委托处理程序。在处理程序中,this
将引用该按钮,因此您可以访问其父(或祖先)行。 E.g:
$("selector-for-the-table").on("click", "input[type=radio]", function() {
var row = $(this).closest("tr");
// ...
});
如果您想从同一行中的其他元素获取信息,可以使用row.find
在行中查找它们。
请参阅the on
documentation中的直接和委派事件,了解有关委派处理程序的更多信息,以及on
文档中有关this
如何确定的其他各个部分,等等
示例:
$("#the-table").on("click", "input[type=radio]", function() {
var row = $(this).closest("tr");
alert(row.find("input").not(this).map(function() {
return this.value;
}).get().join(", "));
});
var counter = 0;
addRow();
function addRow() {
$("#the-table tbody").append(
"<tr>" +
"<td><input type=radio></td>" +
"<td><input type=text value=" + counter + "></td>" +
"<td><input type=text value=" + (counter * 10) + "></td>" +
"</tr>"
);
if (++counter < 10) {
setTimeout(addRow, 500);
}
}
&#13;
<table id="the-table">
<tbody>
</tbody>
</table>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
&#13;