0

我有一个动态填充的<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);
    }

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

4

1 回答 1

0

我能想到这种行为的唯一原因将被select1包装到 unclosed tag<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 -->
于 2013-03-31T19:59:02.027 回答