将字符串数组放入select的options中
如题,我已经研究好几天了,帮帮忙。下面是代码!function stunames()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
resText = xmlHttp.responseText
each=resText.split("|");
buildSelect(each, document.getElementById("name"),"请选择所在专业");
}
}
}
function buildSelect(str,sel,label){
alert(str.length)
for(var i=0;i<str.length;i++)
alert(str[i]);
sel.options[i].text=str[i];
sel.options[i].value=str[i];
//sel.options[sel.options.length]=new option(str[i],str[i])
alert("ok");
都不行,哪位帮忙该该!
帮帮忙阿
我实在是没办法了! 那位高手会阿!help me,help you! 你id先不要取name,出现什么错误啊? [quote][bo]以下是引用 [un]laogao3232[/un] 在 2008-4-7 14:48 的发言:[/bo]
function buildSelect(str, sel, label){
alert(str.length);
for (var i = 0; i < str.length; i++) {
sel.options[i].text = str[i];
sel.options[i].value = str[i];
}
[/quote]
问题出在上面的代码中.
上述代码只是改变select中对应循环中索引的option的text以及value,但是当select的options.length为0,也就是select中没有任何的option的时候,
上述程序会在执行第二遍for循环时,报错。因为sel.options[1]不存在,类似于下标越界之类的错误。
提供一下代码片段仅供参考:
[code]
function buildSelect(str, sel, label){
alert(str.length);
for (var i = 0; i < str.length; i++) {
alert(sel.options.length);
var op=new Option(str[i],str[i]);
sel.options.add(op);
}
}
[/code]
[[it] 本帖最后由 徐志摩 于 2008-4-10 12:20 编辑 [/it]]
谢谢
哦了页:
[1]
