JQ each双重循环出错

一.双重循环出错

原因: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);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/xm393392625/article/details/83507377
jq
今日推荐