1

我有一个包含与复选框关联的值的表(如下)。

<table id="testTable">
<tbody>
    <tr id="tr1">
        <td><input type="checkbox" value="value1"></td>
        <td>row 1</td>
        <td>A</td>
    </tr>    
    <tr id="tr2">
        <td><input type="checkbox" value="value2" ></td>
        <td>row 2</td>
        <td>B</td>
    </tr>    
    <tr id="tr3">
        <td><input type="checkbox" value="value3"></td>
        <td>row 3</td>
        <td>C</td>  
    </tr>    
</tbody>

一旦用户选择了任何复选框组合,我需要确定与已选中的任何复选框相关的值(在用户单击“完成”按钮之后)。

这是我到目前为止所拥有的

$('#Finished').click(function() {

 $('#testTable tr').filter(':has(:checkbox:checked)').each(function() {

    $tr = $(this);
    $('td', $tr).each(function() {

        // NEED THIS BIT

    });

 });
});

我很难获得用户选择的复选框的值。

4

2 回答 2

2

只需选择选定的复选框并收集值:

var values = [];
$("input[type='checkbox']:checked").each(function () {
     values.push({"val": $(this).val(), "tr": $(this).closest("tr").attr("id")});
});

这将生成一个这样的数组:

[
   {
       "val": "value1",
       "tr":  "tr1"
   },
   ...
]

...当然,只包含选中的复选框。

JSFIDDLE

于 2013-08-19T17:54:35.113 回答
1

判断哪个被选中的简单方法是向<input>元素添加一个 id:

<tr id="tr1">
    <td><input id="cb1" type="checkbox" value="value1"></td>
    <td>row 1</td>
    <td>A</td>
</tr>  
于 2013-08-19T17:55:37.020 回答