2016-06-16 10 views
1

データ入力ASP.netフォームを作成していて、ユーザータブをドロップダウンリストに追加するときに、ドロップダウンリストコントロールをクリックせずに展開したいと考えています。ユーザーは、矢印キーを使用して項目を選択してタブアウトし、ドロップダウンをデフォルトの表示に戻すことができます。これを実装する方法はありますか?私はテキストボックスでドロップダウンエクステンダーを使用してみましたが、うまく動作しません。展開後のドロップダウンリスト

答えて

0

onfocusのイベントをドロップダウンのイベントと呼びます。

function expand() { 
    var dropdown = document.getElementById('ddl'); 
    var event; 
    event = document.createEvent('MouseEvents'); 
    event.initMouseEvent('mousedown', true, true, window); 
    dropdown.dispatchEvent(event); 
} 

あなたのhtmlを考慮し

<select id="ddl" onfocus="expand()"> 
<option value="0">Select</option> 
<option value="1">AAAA</option> 
<option value="2">BBBBB</option> 
</select> 

Fiddle

+0

ありがとうございました。それは私のために働いた。 – rwaykos

+0

助けてくれてうれしい、受け入れを検討してください:) – Imad

+0

@rwaykosとImad、私はこの解決策を試しました。ドロップダウンは開かない。フィドルでさえ、フォーカスのドロップダウンを開かない。私はChromeとIEで試しました。何か不足していますか? –

0

あなたが 'ddlTest' と呼ばれるドロップダウンリストを持っていると仮定ので、この方法を試してください。

<script> 
    function Open() { 
     var myDropDown = document.getElementById("ddlTest"); 
     var length = myDropDown.options.length;   
     myDropDown.size = length; 
    } 
    function Select(){ 
     var myDropDown = document.getElementById("ddlTest"); 
     myDropDown.size = 1; 
     var str = myDropDown.options[myDropDown.selectedIndex].value; 
     alert(str); 
    } 
</script> 

<select ID="ddlTest" onfocus="Open()" onfocusout="Select()"> 
<option>option #1</option> 
<option>option #2</option> 
<option>option #3</option> 
<option>option #4</option> 
<option>option #5</option> 
<option>option #6</option> 
<option>option #7</option> 
</select> 
+0

メイト、あなたのコードは、タブを押すことによって選択要素をさせません – Imad

+0

それは選択メイトの後に落ちることはありません:D – Imad

+0

@Anonymous申し訳ありませんが、 'Shring'、選択したアイテムを取得する必要があることを意味しますか? –

関連する問題