jQuery移动.动态填充选择菜单.选项最初不显示

Fra*_*ser 5 jquery jquery-mobile cordova

我在jQuery mobile中动态填充选择菜单时遇到问题.

当我附加选项时,初始值不会显示,我只是得到一个空行.单击菜单时可以选择这些值,但它只是初始视图.当我将菜单硬编码到页面中时,它工作正常.我会认为那是因为我最初有这正显示出它应该和附加时,视图不知道更新所以不断出现空行空的下拉列表.无论如何我在附加后可以强制视图更新吗?我试过.trigger("create")但这没什么用.

这是一个显示我的意思的屏幕."位置"下拉列表是我遇到的问题,"测试"下拉列表是我用硬编码来显示我想要实现的内容.

在此输入图像描述

这是HTML:

<label for="location" class="select">Location</label>
<select name="location" id="location"></select>
<label for="test" class="select">Test DD</label>
<select name="test" id="test">
  <option value="test1">Test 1</option>
  <option value="test2">Test 2</option>
  <option value="test3">Test 3</option>
  <option value="test4">Test 4</option>
  <option value="test5">Test 5</option>
</select>
Run Code Online (Sandbox Code Playgroud)

这是JS:

tx.executeSql('SELECT * FROM locations WHERE lDeleted != 1',
  [],
  function(tx,results){
    var len = results.rows.length;
    for (var i=0; i<len; i++){
      $('#location').append('<option value="'+results.rows.item(i).ID+
        '" class="dropDownBlk">'+results.rows.item(i).lTitle+'</option>');
    }
    $('#location').append('<option value="0">Add new location...</option>')
  },
  errorCB
);
Run Code Online (Sandbox Code Playgroud)

Fra*_*ser 20

这就是诀窍:

$("#location").trigger("change");
Run Code Online (Sandbox Code Playgroud)


小智 7

后:

$('#location').append('<option value="0">Add new location...</option>');
Run Code Online (Sandbox Code Playgroud)

尝试:

$("#location").selectmenu('refresh', true);
Run Code Online (Sandbox Code Playgroud)