jQuery最接近并且检查复选框不起作用

时间:2014-11-18 02:11:02

标签: javascript jquery html

我很抱歉这个头衔。我只需要有人看到我的代码。有一些HTML结构:

<table id="tableId">
  <tr id="tr1">
    <td>1</td>
    <td>Text</td>
    <td><input class="filter" type="checkbox"></td>
  </tr>
  <tr id="tr2">
    <td>2</td>
    <td>Text</td>
    <td><input class="filter" type="checkbox" checked></td>
  </tr>
  ...
</table>
<button id="print" type="button">Print</button>

我想检查表中每个选中的复选框并获取行ID。我正在使用jQuery:

$('#print').click(function () {
    var projects = [];
    $('.filter:checked').each(function () {
       var projectId = $(this).closest('tr').attr('id');
       console.log(projectId);
       projects.push({
          Id: projectId
       });
    });
});

但是控制台说projectId is undefined。我忘了什么吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

您的代码有效,我只需关闭元素:

<table id="tableId">
  <tr id="tr1">
    <td>1</td>
    <td>Text</td>
      <td><input class="filter" type="checkbox" /></td>
  </tr>
  <tr id="tr2">
    <td>2</td>
    <td>Text</td>
    <td><input class="filter" type="checkbox" checked /></td>
  </tr>
</table>
<button id="print" type="button">Print</button>

请参阅以下JSFiddle:http://jsfiddle.net/rtubio/vy02ppgz/