0

只有当我们单击下拉列表时,我们才能将项目添加到下拉列表中吗?我已经放置了一个如下的 onclick 事件:

<select id="DeptStr" style="width: 114px" onchange="Call()" onclick = "GetDept()">

GetDept() 是将项目添加到下拉列表中的函数。

但我的结果是,每次我点击下拉列表时,它只会列出大约 1 秒钟的项目,然后列表会重新上去。我没有时间选择任何项目。你们知道为什么吗?

我的 GetDept() 如下所示:

            cb=ObjByID('cbDeptStr');
            i=cb.length;
            while(i>0)
            { 
                cb.remove(1);
                i--;
            }
            var oOption;
            var rows = ret.substr(4).split('|');                
            var n;           

            for (var i = 1; i < rows.length; ++i)
            {
                n=rows[i].substr(0,4);
                if (n.length!=4)
                    break;
                oOption = document.createElement("option");             
                cb.options.add(oOption,i);
                oOption.innerHTML=n;
                oOption.value=n;

            }
4

1 回答 1

0

“每次我点击下拉列表,它只会列出大约 1 秒钟的项目,然后列表就会恢复。我没有时间选择任何项目。你们知道为什么吗?”

这是因为当您单击下拉菜单时,onClick会触发处理程序,这会将焦点从<select>元素上移开。当它失去焦点时,它会隐藏选项。

于 2013-03-29T05:53:17.193 回答