//记录选中的值
var idArray = ids.split(",");
for(var i=0;i<idArray.length;i++){
if(idArray[i] != ''){
//选中option
jQuery("#"+prefix+(i+1)).attr("value",idArray[i]);
//$("#"+prefix+(i+1)).val(idArray[i]);
//初始化下一个select
initCatData(idArray[i],prefix+(i+2),categoryIds);
}
} 有多个select是联动的, 问题很奇怪,initCatData 没有问题,能初始化其他的select--------------------
jQuery("#"+prefix+(i+1)).attr("value",idArray[i]); 问题在这一句, 初始化选中的时候,不能初始化选中,多个select都是选中的第一个option 我在jQuery("#"+prefix+(i+1)).attr("value",idArray[i]); 上面加一个alert(); 就能初始化选中
我断点调试也能选中,去掉断点又不能选中了
是在循环完成之后才调用
if($(this).val()==idArray[i]){
$(this).attr("selected",true);
}
})
选中值是option的选项
这一句用过 和第一句一样
//$("#"+prefix+(i+1)).val(idArray[i]);
initCatData(idArray[i],prefix+(i+2),categoryIds);
这个方法是 ajax异步请求的,异步的时候去选中, 可能请求没有返回