设置选择框的选定选项
我想设置一个之前被选中的选项,在页面加载时显示。我试着用下面的代码。
$("#gate").val('Gateway 2');
与
<select id="gate">
<option value='null'>- choose -</option>
<option value='gateway_1'>Gateway 1</option>
<option value='gateway_2'>Gateway 2</option>
</select>
但这并不奏效。有什么想法吗?
337
15
这肯定会起作用。[这里有一个演示][1]。确保你已经把你的代码放在了
$(document).ready
中。$('#gate').val('Gateway 2').prop('selected', true);
。我发现使用jQuery .val()方法有一个很大的缺点。
这样做效果很好。请看这个谜题:http://jsfiddle.net/kveAL/
可能你需要在
$(document).ready()
处理程序中声明你的jQuery?另外,你可能有两个具有相同ID的元素?
这将是另一种选择。
我也有同样的问题。
解决方法 增加一个刷新。
有些情况可能是。
我知道有好几个答案的迭代,但现在这不需要jquery或任何其他外部库,只需用下面的方法就可以很容易地完成。
<!--开始片段。 js hide: false console.true babel: true true babel.false --> -- begin snippet: js hide: false console: true false -->
我的问题
我也有同样的问题。 与你的代码唯一不同的是,我是通过ajax调用加载选择框,一旦ajax调用被执行,我已经设置了选择框的默认值。
解决方案
我遇到了一个问题,在调用前由于语法错误,导致值没有设置。
在调用前检查语法错误。
对 @icksde 和 @Korah 的补充 (thx both!)
*当使用AJAX构建选项**时,document.ready可能会在列表构建之前被触发,所以...。
这不工作
这就是
超时确实有效,但正如 @icksde 所说,它很脆弱(我实际上需要 20ms 而不是 10ms)。 最好把它放在AJAX函数里面,像这样。