复选框多次签入javascript

时间:2014-05-22 03:43:35

标签: javascript checkbox

我有解决问题的问题:

<table id="mytable">
<tr>
    <td></td>
    <td>View</td>
    <td>Insert</td>
    <td>Update</td>
    <td>Delete</td>
</tr>
<tr>
    <td>Administrator</td>
    <td>
        <input type="checkbox" class="chkview chkview-1" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-1" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-1" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-1" />
    </td>
</tr>
<tr>
    <td>Free User</td>
    <td>
        <input type="checkbox" class="chkview chkview-2" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-2" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-2" />
    </td>
    <td>
        <input type="checkbox" class="chkitem chkitem-2" />
    </td>
</tr>

演示:DemoJS

是否可以在管理员行中检查插入/编辑/删除之一,复选框视图应该检查为真?

1 个答案:

答案 0 :(得分:0)

是的,你可以

检查这个小提琴。

JS Fiddle

 $(function () {

    $('.chkview').change(function () {
        $(this).closest('tr').find('.chkitem').prop('checked', this.checked);
    });

    $(".chkitem").change(function () {
        var $tr = $(this).closest('tr'), $items =$tr.find('.chkitem') ;
        $tr.find('.chkview').prop('checked', 'checked');
    });


});

作为你的评论,我更新代码。请检查一下。

[Updated Filddle][2]

写一个这样的脚本

    $(function () {

       $('.chkview').change(function () {
        $(this).closest('tr').find('.chkitem').prop('checked', this.checked);
    });

    $(".chkitem").change(function () {
        var $tr = $(this).closest('tr'), $items =$tr.find('.chkitem') ;
        $tr.find('.chkview').prop('checked', $items.filter(':checked').length <= $items.length);       
        if($items.filter(':checked').length==0){
            $tr.find('.chkview').prop('checked','');
        }
    });


});