首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery刷新选择框

JQuery刷新选择框
EN

Stack Overflow用户
提问于 2012-02-21 23:59:32
回答 6查看 125.7K关注 0票数 12

我使用此方法在页面加载时使用JQuery填充选择字段

代码语言:javascript
运行
复制
 $('#select').append('<option value="' + result + '">' + result + '</option>'); 

然而,这会将选择框留空,即选项列表中的第一个值未预先选择为选定选项。

如何“刷新”此列表,以便预先选择第一个值?

对不起-之前应该说是JQuery手机

谢谢。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-02-22 00:02:49

你可以给你想要选择的选项元素添加一个"selected“属性:

代码语言:javascript
运行
复制
$('#select')
    .append('<option value="' + result + '" selected="selected">' + result + '</option>'); 

您没有指定如何准确地填充您的select元素,使用循环,您可以这样做:

代码语言:javascript
运行
复制
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小部件,则需要在对其内容/结构进行编程更改后以编程方式进行刷新:

代码语言:javascript
运行
复制
$select.selectmenu("refresh", true);
票数 21
EN

Stack Overflow用户

发布于 2012-02-22 00:09:49

您可以使用

代码语言:javascript
运行
复制
$('#select').removeAttr('selected').find('option:first').attr('selected', 'selected');
票数 4
EN

Stack Overflow用户

发布于 2012-02-22 00:01:48

很简单..。您可以随心所欲地设置值,即:$('#select').val(5);。所以在你的例子中它是$('#select').val(result);

编辑:包含完整的工作示例:

代码语言:javascript
运行
复制
<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>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9380709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档