var j=0,i=0;
var s1 = document.getElementById("foodname1");
var s2 = document.getElementById("foodname2");
var food1 ={if $info.food1}{$info.food1}{else}0{/if};
var food2 ={if $info.food2}{$info.food2}{else}0{/if};
for(i;i<=s1.length;i++){
if(s1.options[i].value == food1){
s1.options[i].selected = true;
}
}
for(j;j<=s2.length;j++){
if(s2.options[j].value == food2){
s2.options[j].selected = true;
}
}
语法错了?还是啥呀
把for 的顺序换下也是只有最前面的能成功,第二个就不执行了。。点击编辑后onload执行这个函数,难道JS不能同时执行两个for 吗?
第1个回答 推荐于2016-11-19
s1.options[i].selected = true;
break;
s2.options[j].selected = true;
break;
就好了
你的问题出在初始化哪里,i=0,j=0 for循环比select的length多了1,当然会报错啦。本回答被提问者采纳
break;
s2.options[j].selected = true;
break;
就好了
你的问题出在初始化哪里,i=0,j=0 for循环比select的length多了1,当然会报错啦。本回答被提问者采纳
第2个回答 2014-09-18
你的问题不是少了个 break; 是 for( j ; j <= s1.length ; j++)中的 j<=s1.length ; 应该是j < s1.length。你没看清楚刚才那位的回答。问题根本就是数组越界