可能重复:
Using JavaScript to manipulate HTML input (checkbox) elements via type instead of name.
为什么这不起作用?请帮忙。这是检查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')"/>
答案 0 :(得分: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;
}
}
}
并按照以下方式连接你的切换器复选框:
<input type="checkbox" name="Test" onclick="SetAllCheckBoxes(this)"/>
工作示例: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"));
});
答案 1 :(得分:4)
如果可以,请尝试使用jquery selector:
$("input:checkbox").attr("checked","checked");
此外,您应该在代码中使用document
,而不是doc
:
document.getElementsByTagName('input');