从javascript函数打开下拉列表

时间:2013-10-29 07:24:53

标签: javascript jquery html5

我试图在调用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)"/>

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

4 个答案:

答案 0 :(得分:12)

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

Demo Fiddle

<强> JS:

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

编辑:这在Chrome <53中运行良好,对Firefox和IE不确定。

答案 1 :(得分:1)

你可以这样做:

var sel = document.getElementById('Acntname');
var len = sel.options.length;

sel.setAttribute('size', len);

将尺寸设置回1以关闭它

答案 2 :(得分:0)

toggle上的drop down无法triggering other element

如果您想在select box的{​​{1}}上选择keyup event的值,请尝试此操作,

textbox

Demo

答案 3 :(得分:0)

您无法打开下拉列表,但有半解决方案,您可以执行以下操作

“打开”清单:

$("#Acntname").attr("size","3");

$("#Acntname").attr("size","1");

关闭列表。