是否可以使用JavaScript打开HTML选项以显示其选项列表?
对于HTML中的下拉列表:
<select id="countries">
<option value="1">Country</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我想打开列表(与左键单击相同).这可能是使用JavaScript(或更具体的jQuery)吗?
有没有办法使用Javascript(和jQuery)打开一个选择框?
<select style="width:150px;">
<option value="1">1</option>
<option value="2">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc arcu nunc, rhoncus ac dignissim at, rhoncus ac tellus.</option>
<option value="3">3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我必须打开我的选择,因为bug.所有版本的IE(6,7,8)都削减了我的选择.据我所知,这没有css bugfix.目前我尝试执行以下操作:
var original_width = 0;
var selected_val = false;
if (jQuery.browser.msie) {
$('select').click(function(){
if (selected_val == false){
if(original_width == 0)
original_width = $(this).width();
$(this).css({
'position' : 'absolute',
'width' : 'auto'
});
}else{
$(this).css({
'position' : 'relative',
'width' : original_width
});
selected_val = false;
}
});
$('select').blur(function(){
$(this).css({
'position' : 'relative',
'width' : …Run Code Online (Sandbox Code Playgroud) 如何使用触发器打开下拉列表?
这是不起作用的代码:
$('select').trigger('click');
Run Code Online (Sandbox Code Playgroud)
只是为了注意 - mousedown和mouseup也不起作用.
我试图在点击链接时扩展选择下拉列表.
<button type="button" id="btn">Click Me!</button>
<select id='sel' name='sel'>
<option>item 1</option>
<option>item 2</option>
<option>item 3</option>
<option>item 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
Javescript如下.
$(document).ready(function() {
$("#btn").click(function() {
$("#sel").trigger('click');
});
});
Run Code Online (Sandbox Code Playgroud)
有任何想法吗...??
有没有人知道是否可以在angularjs中以编程方式打开选择.我试过了
angular.element(el).trigger('focus');
angular.element(el).trigger('click');
angular.element(el).trigger('mousedown');
Run Code Online (Sandbox Code Playgroud)
什么都行不通.
我也试过了
$scope.doSomething = function(){
setTimeout(function() {
var el = document.getElementById('test');
var e = document.createEvent("MouseEvents");
e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
worked = el.dispatchEvent(e);
}, 0);
}
Run Code Online (Sandbox Code Playgroud)
以上设置焦点但不要打开选择.
可能吗?
有没有办法以编程方式显示/打开下拉菜单(<select>)?
我有一个选择元素如下.我想打开它而无需用户点击它.
<select id="selId" class="pos_fixed">
<option value="volvo">Option1</option>
<option value="saab">Option2</option>
<option value="mercedes">Option3</option>
<option value="audi">Option4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果可能使用jquery或javascript,请告诉我
如何使用Javascipt强制select元素下拉?可能吗?
<select id="MiamiPlayers">
<option value="0">Bosh</option>
<option value="1">Wade</option>
<option value="2">LeBron</option>
</select>
<input type="button" onclick="Show()" />
<script type="text/javascript">
function Show()
{
//force the select to dropdown...
}
</script>
Run Code Online (Sandbox Code Playgroud)
提前致谢!
当您使用 iOS (iPhone) 在网页上点击选择输入时,会弹出一个微调小部件(“选择器”),让您在该选择中旋转并选择选项。假设您已经点击其中之一并且选择器小部件已打开。当它打开时,如果您使用 javascript 修改选择选项(通过 dom 添加、删除、更新选项),那么这些更改不会反映在小部件中,除非用户关闭并重新打开小部件。
有没有办法强制浏览器自动更新选项?

编辑:这是一个示例,您可以用来观察更新选择选项如何不更新选择器小部件:http : //jsfiddle.net/RrsNk/
<select id="my-select" />
$(function () {
updateSelect();
});
function updateSelect() {
$("#my-select").empty();
for (i = 0; i < 5; i++) {
var ran = Math.random();
$("<option />").attr("value", ran).html(ran).appendTo("#my-select");
}
setTimeout(updateSelect, 2000);
}
Run Code Online (Sandbox Code Playgroud) javascript ×6
jquery ×5
html ×3
select ×2
angularjs ×1
html-select ×1
ios ×1
safari ×1
triggers ×1