JQuery刷新选择框

use*_*278 11 jquery select option jquery-mobile

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

 $('#select').append('<option value="' + result + '">' + result + '</option>'); 
Run Code Online (Sandbox Code Playgroud)

但是,这会使选择框"空白",即选项列表中的第一个值不会被预先选为选定选项.

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

对不起 - 应该说以前是JQuery mobile

谢谢.

Did*_*hys 21

您可以将"selected"属性添加到您要选择的选项元素中:

$('#select')
    .append('<option value="' + result + '" selected="selected">' + result + '</option>'); 
Run Code Online (Sandbox Code Playgroud)

您没有指定如何使用循环精确填充选择元素,您可以这样做:

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);
}?
Run Code Online (Sandbox Code Playgroud)

DEMO


所以你似乎正在使用jQuery Mobile,就像你在评论中所说的那样.

如果您使用的是selectmenu 小部件,则需要在对其内容/结构进行编程更改后以编程方式刷新:

$select.selectmenu("refresh", true);
Run Code Online (Sandbox Code Playgroud)

文档


小智 5

您可以使用

$('#select').removeAttr('selected').find('option:first').attr('selected', 'selected');
Run Code Online (Sandbox Code Playgroud)