如何使用觸發器打開下拉列表?點擊觸發選擇框在jQuery中不起作用
這裏是不起作用的代碼:
$('select').trigger('click');
只是爲了說明 - 鼠標按下和鼠標鬆開也不起作用。
如何使用觸發器打開下拉列表?點擊觸發選擇框在jQuery中不起作用
這裏是不起作用的代碼:
$('select').trigger('click');
只是爲了說明 - 鼠標按下和鼠標鬆開也不起作用。
$('select').children('option').each(function() {
if ($(this).is(':selected'))
{ $(this).trigger('change'); }
});
這可能會觸發其他您可能不想要的附加事件。 – 2014-08-06 13:49:35
你可以做如下:
HTML:
<form>
<select>
<option value="opt1">Option 1</option>
<option value="opt2">Option 2</option>
<option value="opt3">Option 3</option>
</select>
<input type="submit" value="OK"></input>
</form>
的JavaScript(用jQuery):
$("option[value='opt2']").attr("selected", "selected"); // Selects option 2
$("input[type='submit']").trigger("click"); // Submits the form
這不會打開選擇,而是提交表單。 – 2015-07-24 06:47:17
有點擊下拉編程不正確的方法。
您可以通過選擇一個選項:如果要模擬用戶點擊
$('#sourceOptions>option:eq(0)').prop('selected', 'selected');
:你必須爲@Renso說,做到這一點:
$('#sourceOptions>option:eq(0)').prop('selected', 'selected').trigger('change');
我花了一段但找到了解決方案:
(鉻&的Safari ONLY)
function open(elem) {
if (document.createEvent) {
var e = document.createEvent("MouseEvents");
e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
elem[0].dispatchEvent(e);
} else if (element.fireEvent) {
elem[0].fireEvent("onmousedown");
}
}
關閉。這適用於Chrome和Safari,但不適用於Firefox或IE。 – 2014-08-15 22:14:14
此代碼無法在Firefox上運行 – smallg 2014-10-17 06:52:47
認爲這是你需要的解決方案: http://stackoverflow.com/questions/499405/change-selected-value-of-drop-down-list-with-jquery – 2010-05-24 08:23:30
我已經得到這個工作:http://stackoverflow.com/a/10136523/2541 – 2012-10-25 17:51:49
可能重複的[你如何編程方式告訴HTML選擇下拉(例如,由於鼠標懸停)?](http:// stackoverflow .com/questions/249192/how-can-you-program-by-tell-an-html-select-to-drop-down-for-example-due) – 2012-10-25 17:52:17