选中MVC视图中的所有复选框

ZVe*_*nue 3 javascript asp.net asp.net-mvc jquery asp.net-mvc-3

可能重复:
使用JavaScript通过类型而不是名称来操作HTML输入(复选框)元素.

为什么这不起作用?请帮忙.这是检查MVC视图上所有复选框的代码.

<script type="text/javascript">
    function SetAllCheckBoxes(doc) {
        var c = new Array();
        c = doc.getElementsByTagName('input');
        for (var i = 0; i < c.length; i++) {
            if (c[i].type == 'checkbox') {
                c[i].checked = true;
            }
        }
    }
</script>
<input type="checkbox" name="Test" onclick="SetAllCheckBoxes('PartialViewName')"/>
Run Code Online (Sandbox Code Playgroud)

hun*_*ter 7

'PartialViewName'当您的函数似乎将其用作document对象时,您将作为字符串传递.

试试这个js:

function SetAllCheckBoxes(obj) {
    var c = new Array();
    c = document.getElementsByTagName('input');
    for (var i = 0; i < c.length; i++) {
        if (c[i].type == 'checkbox') {
            c[i].checked = obj.checked;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后连接你的toggler复选框,如下所示:

<input type="checkbox" name="Test" onclick="SetAllCheckBoxes(this)"/>
Run Code Online (Sandbox Code Playgroud)

工作示例:http://jsfiddle.net/hunter/fA2w5/


使用jQuery非常简单:

<input type="checkbox" id="Test" name="Test" />

$("#Test").click(function(){
    $("input:checkbox:not(#Test)").attr("checked", $(this).is(":checked"));
});
Run Code Online (Sandbox Code Playgroud)

工作示例:http://jsfiddle.net/hunter/fA2w5/3/