动态添加选项到jQuery Mobile Optgroup

时间:2014-04-21 19:54:31

标签: jquery sqlite jquery-mobile

我在动态添加选项时遇到问题。目前我在我的html中有一个带有一些硬编码值的optgroup:

<select id="opt1" multiple="multiple" data-native-menu="false" data-icon="grid" data-iconpos="left">
                <optgroup label="optgroup options" id = "opt">
                    <option value="option1">Option1</option>
                    <option value="option2">Option2</option>
                </optgroup>
            </select>

我想从我的数据库中动态添加选项。目前我正在尝试这样做:

db.transaction(function(transaction) {

transaction.executeSql('SELECT input FROM ListInput WHERE input != ""', [],
                       function(transaction, result) {
                       if (result != null && result.rows != null) {
                       for (var i = 0; i < result.rows.length; i++) {
                       var row = result.rows.item(i);
                       $('#opt').append('<option>'+ row['input'] + '</option>');

                       }

                       }

                       $("#opt").selectmenu().selectmenu('refresh');
                       },errorHandler);
},errorHandler,nullHandler);

但是,这并没有正确添加选项。该选项只出现在选择菜单上,当我单击菜单查看选项时,它没有自己的复选框,根本不显示。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您只是在错误的DOM元素上调用selectmenu(&#39; refresh&#39;)。您应该在选择而不是选项组上调用它。所以改变这一行:

$("#opt").selectmenu().selectmenu('refresh');

$("#opt1").selectmenu('refresh');
  

<强> DEMO