动态选择选项列表重置为第一个值

时间:2013-03-31 19:25:20

标签: javascript option

我有一个动态填充的<select>列表,其中第一个选项是在页面首次加载时由HTML和PHP创建的,但是当您下拉时,javascript会填充其他选项的列表。但是,当我选择一个选项并删除焦点时,它将重置为原始选定选项。我很确定我正在做的事情并没有得到保存,但我不确定如何修复它。

这是HTML,工作正常:

<select name="select1" id="select1" onfocus= "checkSelect(this.value)">
<option value ="XXX">XXX</option>
</select>

checkSelect()函数做了很多东西,但结果如下:

//do a bunch of stuff, ending in populating the 'legal' array. 

document.input_form.select1.options.length=1; 
//which I think is actually redundant

for (i=0; i < legal.length; i++)
    {
        document.input_form.select1.options[i+1]=new 
        Option(legal[i], legal[i], false, false);
    }

我是否遗漏了必要的内容以使该选项在页面上保留?

1 个答案:

答案 0 :(得分:0)

我能想到这种行为的唯一原因是select1包裹在未关闭的标记<label>中,例如:

<label>label <!--may be missing </label> here -->
    <select name="select1" id="select1" onfocus="checkSelect(this.value)">      
        <option value ="XXX">XXX</option>
    </select> <!--may be missing </label> here -->