可能重複:
How can you programmatically tell an HTML SELECT to drop down (for example, due to mouseover)?在jQuery中顯示select下拉菜單?
是否有可能做一個選擇元素的jQuery可見的下拉?
我試過使用$('#dropdown').click();
,但它沒有效果。
可能重複:
How can you programmatically tell an HTML SELECT to drop down (for example, due to mouseover)?在jQuery中顯示select下拉菜單?
是否有可能做一個選擇元素的jQuery可見的下拉?
我試過使用$('#dropdown').click();
,但它沒有效果。
這是不可能的。你只能實現你自己的選擇框,但這對可用性不利。
另一種方法是以編程方式更改選擇框的大小屬性,但這不是您真正想要的。
我建議思考爲什麼你需要這個,如果會有更好的軟件模式?
現在可能 - 只是fireEvent mousedown - 在這裏解決:http://stackoverflow.com/questions/10453393/how-to-open-the-select- input-using-jquery – 2013-08-28 09:45:40
只適用於我的Chrome。 IE8或FF沒有工作;所以它仍然不可能以瀏覽器友好的方式。 – 321X 2013-09-03 09:02:44
這裏是我的適應:
HTML
<button id='btn'>Click Me</button>
<select id='test'>
<option>Blah 1</option>
<option>Blah 2</option>
<option>Blah 3</option>
<option>Blah 4</option>
</select>
的JavaScript
$('#btn').click(function(){
$('#test').attr('size', 5);
});
$('#test').change(function() {
$(this).attr('size', 1);
});
這不打開下拉列表,但它種工作。
演示here。
不 - 您無法做到這一點。它與用戶點擊時處於按下狀態的按鈕大致相同 - 用戶設置值的「臨時」操作。你可以focus
,但這就是它。
如果你真的想模擬這個,你可以玩一些CSS。例如,您可以創建一個看起來像下拉列表的列表,並根據用戶點擊的內容設置下拉值 - 類似於自動完成列表的外觀。
如果要將所有值顯示給用戶,可以隨時將其更改爲多行列表框。您可以通過將size
設置爲任何值並在要隱藏時回到1來完成此操作。它並不完美,但它是另一種選擇:
$("#open").click(function(e){
e.preventDefault();
$("#myselect").attr("size",5);
});
$("#myselect").click(function(){
$(this).attr("size",1);
});
也許關注,但我懷疑。 – RageZ 2010-12-16 03:02:22
請參閱http://stackoverflow.com/questions/2800266/programmatically-open-a-drop-down-menu/2800276#2800276 – sje397 2010-12-16 03:04:14
乾杯,我沒有嘗試搜索,猜猜我沒有使用正確的話......謝謝 – Hailwood 2010-12-16 03:07:10