2

I would like to do to auto select in check box when the selection box is selected in the same row. 虽然我在 stackoverflow 中发现了这个问题,但不幸的是它不符合我的要求。所以,请给我一些建议。

一个表中有很多行。在每一行中,每列都有一个复选框和一个选择框。如果我在一行中的选择框中选择了一些东西,我想在同一行中自动签入复选框。

我编写了如下代码。

<script>
    $(document).ready(function() {
        $('.sel_ActList_status').change(function() {
            $('.sel_ActList_status').parent('td').silbings('td').find(".chk_ActList_select").checked = true;
            //$('.sel_ActList_status').parent('td').silbings('td').find(".chk_ActList_select").prop("checked", true);
        });
    });
</script>

<table>
    <tr>
        <td>
            <input id="chk_ActList_select[0]" class="chk_ActList_select" type="checkbox" value="true" name="chk_ActList_select[0]">
        </td>
        <td>xxxxx</td>
        <td>
            <select id="sel_ActList_status" class="sel_ActList_status" name="sel_ActList_status">
                <option selected="selected" value="2">11111</option>
                <option value="0">22222</option>
                <option value="1">33333</option>
            </select>
        </td>
    </tr>
    <tr>
        <td>
            <input id="chk_ActList_select[1]" class="chk_ActList_select" type="checkbox" value="true" name="chk_ActList_select[1]">
        </td>
        <td>xxxxx</td>
        <td>
            <select id="sel_ActList_status" class="sel_ActList_status" name="sel_ActList_status">
                <option value="2">11111</option>
                <option selected="selected" value="0">22222</option>
                <option value="1">33333</option>
            </select>
        </td>
    </tr>
</table>

但是当我在选择框中选择某些内容时,我的代码无法自动签入复选框。我的 jquery 代码有什么问题吗?请给我一些指导。

提前致谢。

4

4 回答 4

2

试试看This,这对你有帮助

$('.sel_ActList_status').change(function(){                                                     
    $(this).closest('tr').find('input:checkbox').prop('checked',true);
 });
于 2013-09-10T07:33:37.057 回答
0

试试这个

$('.sel_ActList_status').change(function(){
    $(this).parent().parent().find('input[type=checkbox]').attr('checked','checked');
});
于 2013-09-10T07:33:09.957 回答
0

在最简单的情况下,我建议:

$('select').change(function(){
    $(this).closest('tr').find('input').prop('checked',true);
});

JS 小提琴演示

虽然如果您通过选择或更改选择框启用检查,您可能应该通过相同的路线启用取消检查(只是为了保持一致的 UI),所以我会修改select元素,添加一个“无” option<option selected="selected" value="-1">None</option>) ,并且,如果已选中,请取消选中该框:

$('select').change(function(){
    var self = this;
    $(this).closest('tr').find('input').prop('checked', self.value !== '-1');
});

JS 小提琴演示

于 2013-09-10T07:40:00.050 回答
0

试试这个

$('.sel_ActList_status').change(function() {
    $(this).parent('td').siblings().find(".chk_ActList_select").attr("checked", "true");
});
于 2013-09-10T07:40:40.920 回答