从javascript函数打开下拉列表

Sub*_*odh 4 javascript jquery html5

Iam试图在调用javascript函数时显示下拉选项.但最终我没有成功.需要帮助这是我的代码:

<script>
function showState(str){ 
$('#Acntname').trigger('click');

}
</script>
...
<select class="input_panel" id="Acntname" > 
<option value="0">Select</option>
<option value="1">Equity Share Capital</option>
<option value="2">Deprication Fund</option>  </select>

<input type="text" class="input_panel" id="accountname" onkeyup="showState(this.value)"/>
Run Code Online (Sandbox Code Playgroud)

我使用触发功能打开下拉列表,但它不起作用.

nik*_*nik 13

在这里你去..你可以通过在下拉列表上发送mousedown事件来做到这一点.

演示小提琴

JS:

window.showState = function (str) {
    var dropdown = document.getElementById('Acntname');
    var event = document.createEvent('MouseEvents');
    event.initMouseEvent('mousedown', true, true, window);
    dropdown.dispatchEvent(event);
}
Run Code Online (Sandbox Code Playgroud)

编辑:这在Chrome <53中完美运行,对Firefox和IE不确定.

  • @ smclark89实际上,你可以使用tab.Juse使用带有`if(event.keyCode == 9 || event.keyCode == 13){/*code here*/}`的`keydown`事件监听器来捕获选项卡并输入密钥. (2认同)
  • 我在Chrome版本53.0.2785.101(64位)上测试了它,但它不起作用.它适用于Chrome版本51.0.2704.106(64位),但... (2认同)

Roh*_*mar 0

toggle这是不可能drop downtriggering other element

select box如果您想选择onkeyup event的值,textbox请尝试以下操作,

function showState(str){ 
   //  alert(str);
   $('#Acntname option[value="'+str+'"]').prop('selected',true);
}
Run Code Online (Sandbox Code Playgroud)

演示