我使用此方法在页面加载时使用JQuery填充选择字段
$('#select').append('<option value="' + result + '">' + result + '</option>');
然而,这会将选择框留空,即选项列表中的第一个值未预先选择为选定选项。
如何“刷新”此列表,以便预先选择第一个值?
对不起-之前应该说是JQuery手机
谢谢。
发布于 2012-02-22 00:02:49
你可以给你想要选择的选项元素添加一个"selected“属性:
$('#select')
.append('<option value="' + result + '" selected="selected">' + result + '</option>');
您没有指定如何准确地填充您的select元素,使用循环,您可以这样做:
var data = ['a', 'b', 'c'];
var $select = $('#select'); // you might wanna empty it first with .empty()
for (var i = 0; i < data.length; i++) {
var o = $('<option/>', { value: data[i] })
.text(data[i])
.prop('selected', i == 0);
o.appendTo($select);
}
所以看起来你正在使用jQuery手机,就像你在评论中说的那样。
如果您使用的是selectmenu小部件,则需要在对其内容/结构进行编程更改后以编程方式进行刷新:
$select.selectmenu("refresh", true);
发布于 2012-02-22 00:09:49
您可以使用
$('#select').removeAttr('selected').find('option:first').attr('selected', 'selected');
发布于 2012-02-22 00:01:48
很简单..。您可以随心所欲地设置值,即:$('#select').val(5);
。所以在你的例子中它是$('#select').val(result);
编辑:包含完整的工作示例:
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.4.js'></script>
<select id='select'></select>
<br>
<input type=button onclick='addNew()' value='Add'>
<script>
function addNew()
{
var result = Math.floor(Math.random()*1000);
$('#select').append('<option value="' + result + '">' + result + '</option>');
$('#select').val(result);
}
</script>
https://stackoverflow.com/questions/9380709
复制相似问题