一.双重循环出错
原因:each方法是异步的所以内层的循环时外层也一样在循环,并不会等待内层循环完再执行循环
二.替代方法
1)使用for
2)多选框初始化案例
<input type="hidden" id="commTypeNos" name="commTypeNos" value="1,2,3"/>
<label><input name="commTypeNo" type="checkbox" value="1" /><span>苹果</span></label>
<label><input name="commTypeNo" type="checkbox" value="2" /><span>香蕉</span></label>
<label><input name="commTypeNo" type="checkbox" value="3" /><span>梨</span></label>
<label><input name="commTypeNo" type="checkbox" value="4" /><span>菠萝</span></label>
<label><input name="commTypeNo" type="checkbox" value="5" /><span>橘子</span></label>
var commTypeNos=$("#commTypeNos").val().split(",");
var $input=$("input[name='commTypeNo']");
for(var i=0;i<$input.length;i++){
var $dom=$($input[i]);
for(var j=0;j<commTypeNos.length;j++){
if($.trim($dom.val()) == $.trim(commTypeNos[j])){
console.log($dom.val()+","+commTypeNos[j]);
$dom.prop("checked",true);
}
}
}