在选择更改时打开下一个选择元素

时间:2014-02-25 21:18:26

标签: javascript jquery html forms triggers

我有几个连续的选择元素,用户必须选择一个选项。为了方便用户而确保他们选择了一个选项,我试图做的是在选择一个选项后自动打开下一个选项

小提琴http://jsfiddle.net/zYUfd/1/

HTML

<form>
    <select name="first">
        <option value=""></option>
        <option value="1">one</option>
        <option value="2">two</option>
        <option value="3">three</option>
    </select> 
    <select name="two">
        <option value=""></option>
        <option value="1">one</option>
        <option value="2">two</option>
        <option value="3">three</option>
    </select> 
    <select name="three">
        <option value=""></option>
        <option value="1">one</option>
        <option value="2">two</option>
        <option value="3">three</option>
    </select> 
</form>

jquery的

$('select').on('change', function() {
   $('.select').next().trigger('click'); 
});

2 个答案:

答案 0 :(得分:1)

工作演示http://jsfiddle.net/4cgt3/和此http://jsfiddle.net/4cgt3/3/

旧的SO参考:Open a select drop down on click of checkbox using jquery

希望这符合您的需求:)

<强>码

$('select').on('change', function () {

    'use strict';
       $(this).next().focus().get(0).dispatchEvent(doClick());

});

var doClick = function () {
    'use strict';
    var event = document.createEvent('MouseEvents');
    event.initMouseEvent('mousedown', true, true, window);
    return event;
}

答案 1 :(得分:0)

我不认为这是可能的。您需要使用自定义选择小部件来完成此跨浏览器