如何在选择单选按钮时获取一行表的元素值

时间:2015-08-23 11:52:30

标签: javascript jquery jsp

我有一个JSP页面,我在其中基于来自数据库的查询动态创建表。我有一个单选按钮作为每行的第一列。我希望点击特定的单选按钮,该行中的所有元素值都会传递给一个按钮。

1 个答案:

答案 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;
&#13;
&#13;