我的嵌套for循环遇到了一些麻烦。我正在尝试确定表单中已选中复选框的值。我被告知整个事情的格式应该是这样的:
for(checkboxes loop){
for(item.appointmentType[1] loop){
if(statement conditional){
set checks code
}
}
}
但我似乎无法正确写入,因为我收到错误说, 未捕获的TypeError:对象没有方法'setAttribute'
以下是我正在使用的代码。有人可以帮助我纠正它,可能知道我在说什么吗?
var checkboxes = document.forms[0].appointmentType;
for(var i=0; i<checkboxes.length; i++){
for(var j=0; j<item.appointmentType[1].length; j++){
if(checkboxes[i].value === item.appointmentType[1][j]){
item.appointmentType[1][j].setAttribute("checked", "checked");
}
}
}
以下是与javascript一起提供的HTML代码。所有的javascript都包含在它自己的.js文件中。
<ul><span class="lab">
<li><input type="checkbox" checked value="Get A Free Estimate" id="Get A Free Estimate"
name="appointmentType" /><label for="getAFreeEstimate"><span class="gfe">Get A FREE
Estimate</span></label></li>
<li><input type="checkbox" value=" Lawn Service" id="lawnService" name="appointmentType"/
<label for="lawnService"><span class="ls">Lawn Service</span></label></li>
<li><input type="checkbox" value=" Sprinkler System Service" id="sprinklerSystemService"
name="appointmentType" /><label for="sprinklerSystemService"><span
class="sss">Sprinkler System Service</span></label></li>
<li><input type="checkbox" value=" Flower Bed Maintenance" id="flowerBedMaintenance"
name="appointmentType" /><label for="flowerBedMaintenance"><span class="fbm">Flower
Bed Maintenance</span></label></li>
<li><input type="checkbox" value=" Hedge/Tree Service" id="hedgeTreeService"
name="appointmentType" /><labe for="hedgeTreeService"><span class="hts">Hedge / Tree
Service</span></label></li>
<li><input type="checkbox" value=" Handyman Services" id="handymanServices"
name="appointmentType" /><label for="handymanServices"><span class="hs">Handyman
Services</span></label></li>
<li><input type="checkbox" value=" Other" id="other" name="appointmentType" /><label
for="other"><span class="otr">Other</span></label></li></span></ul><br/>
答案 0 :(得分:0)
这一行:
item.appointmentType[1][j].setAttribute("checked", "checked");
应该是:
checkboxes[i].checked = true;
答案 1 :(得分:0)
如果你在你的proyect中渲染了Jquery,你认为你可以用以下代码替换你的行:
checkboxes = $('input [type =“checkbox”]');
。$(复选框[I])丙( '检查',TRUE);
也许会有所帮助