用js将字符串数组的值赋给select的options

我要用ajax作个级联菜单,将从数据库中得到的值放入select中
function buildText(str,sel,label){

sel.options.length=0;
sel.options[sel.options.length]=new Option(label,"")

for(var i=0;i<each.length;i++)
{
na=str[i]
sel.options[i].value=na
sel.options[i].label=na
}
}
str是传进来的字符串数组参数。
另外 sel.options[i].value=na
sel.options[i].label=na
和sel.options[sel.options.length]=new Option(na,na)
是否是一样的。
对不起,each就是str
for(var i=0;i<str.length;i++)
这个达不到我要的效果,哪位给改改!

类似这样改下吧.
for(var i=0;i<arr.length;i++){
var op = document.createElement('OPTION');
sel.appendChild(op);
op.text i;
op.value = i;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-02
function changes(){
var area = [
['请选择','Jsp技术交流区','C#技术交流区','Ajax技术交流区','数据库编程'],
['请选择','操作系统应用技巧','软件应用心得交流区','硬件与网络'],
['请选择','优化水潭','影音赏析','游戏天地'],
];
var selectbankuai = document.getElementById('sel').value;
var selectluntan = document.getElementById('sel0');
selectluntan.length = 0;
if(selectbankuai != 0){
for(var i=0;i<area[selectbankuai-1].length;i++){
selectluntan[i] = new Option(area[selectbankuai-1][i],area[selectbankuai-1][i]);
}
}
}

这是调用:
<select id="select1" onchange="changes()">
<option value="0">请选择</option>
<option value="1">技术交流</option>
<option value="2">应用技巧</option>
<option value="3">娱乐生活</option>
</select>
<select id="select2">
<option value="0">请选择</option>
</select>
第2个回答  2008-04-02
for(var i=0;i<each.length;i++)

each.length? str.length?

PS: 两个的效果是一样的