我对Javascript非常苛刻,而且我很难理解它。
我正在尝试做的是选择所有复选框。但是我找到的所有东西都试图通过名字来做,我想通过ID或类来做。按姓名选择全部是不实际的不是吗?
答案 0 :(得分:15)
使用JQuery,您可以非常轻松地执行此操作!
$(".ClassName").attr("checked", "true");
或单个ID
$("#ID").attr("checked", "true");
答案 1 :(得分:13)
var array = document.getElementsByTagName("input");
for(var ii = 0; ii < array.length; ii++)
{
if(array[ii].type == "checkbox")
{
if(array[ii].className == YOUR_CLASS_NAME)
{
array[ii].checked = true;
}
}
}
ID:
var checkbox = document.getElementById(YOUR_ID);
if(null != checkbox)
checkbox.checked = true;
答案 2 :(得分:1)
当有匹配的模式时,JQuery很棒。请参阅Check All Checkboxes with JQuery。
答案 3 :(得分:1)
按班级:
var clist=document.getElementsByClassName("MyClass");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = "checked"; }
按ID:
var clist=document.getElementById("MyID");
for (var i = 0; i < clist.length; ++i) { clist[i].checked = "checked"; }
另请参阅:Loop Over querySelectorAll Matches。
按班级:
$('.myclass:input:checkbox').each(function() { this.checked = true; });
按ID:
$('#myID:input:checkbox').each(function() { this.checked = true; });
答案 4 :(得分:0)
我总是用javascript度过艰难的时光。您可能想要调查jQuery javascript库。它大大增强了我使用javascript解决问题的能力,以及创建更清晰简洁的代码来操作和访问DOM。
使用jQuery,您应该能够轻松地通过ID选择所有您想要的复选框,然后循环设置它们的值以进行检查。
答案 5 :(得分:0)
如果您为所有复选框指定相同名称+数字(即。chkbox1
,chkbox2
等),该怎么办?然后在你的javascript中你将创建一个for循环来查看你拥有的复选框的数量,然后执行getElementByID("chkbox" + num)
(其中num是你的循环变量)。
答案 6 :(得分:0)
伪代码:
function checkAll(array_with_id_values)
{
for (var i = 0, ilen = array_with_id_values.length; i < ilen; i++)
{
document.getElementById(array_with_id_values[i]).checked = true;
}
}
用以下方式调用:
checkAll(['my-unique-id', 'my-other-unique-id', 'my-third-unique-id']);
你不应该使用这样的详细变量名称,并检查参数是否为数组,并且获得的元素是复选框等等。
答案 7 :(得分:0)
尝试使用jQuery:
$(".className").prop("checked", true);
$("#idName").prop("checked", true);