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 に答える