javascript - 无法在组合框 Jquery Mobile 上清空()

标签 javascript jquery jquery-mobile

我正在为我的项目使用 Jquery Mobile。当我使用 .empty() 清除组合框中的所有内容时,它不起作用。

我的代码:

<select name="select-choice-a1" data-native-menu="false" id="vj">
                    <option>Custom menu example</option>
                    <option value="standard">Standard: 7 day</option>
                    <option value="rush">Rush: 3 days</option>
                    <option value="express">Express: next day</option>
                    <option value="overnight">Overnight</option>
                </select>

Javascript:

$("#vj").empty();

并且我只在设备就绪后调用它。

当页面加载时,我提供的 html 更改为

<div class="ui-content" data-role="main">

                <a class="ui-btn ui-btn-inline ui-corner-all ui-shadow" href="#myPanel">Add Location</a>

                <label class="select" for="select-choice-a1">Select Location</label>
                <div class="ui-select"><a href="#" role="button" id="vj-button" aria-haspopup="true" class="ui-btn ui-icon-carat-d ui-btn-icon-right ui-corner-all ui-shadow"><span>Custom menu example</span></a><select id="vj" data-native-menu="false" name="select-choice-a1" tabindex="-1">
                    <option data-placeholder="true">Custom menu example</option>
                    <option value="standard">Standard: 7 day</option>
                    <option value="rush">Rush: 3 days</option>
                    <option value="express">Express: next day</option>
                    <option value="overnight">Overnight</option>
                </select><div style="display: none;" id="vj-listbox-placeholder"><!-- placeholder for vj-listbox --></div></div>

                <label class="ui-hidden-accessible" for="textinput-hide">RFID:</label>
                <div class="ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset"><input type="text" value="" placeholder="Text input" name="textinput-hide"></div>

                <label class="ui-hidden-accessible" for="textinput-hide">Details:</label>
                <div class="ui-input-text ui-body-inherit ui-corner-all ui-shadow-inset"><input type="text" value="" placeholder="Text input" name="textinput-hide"></div>

            </div>

最佳答案

这是 custom selectmenu转换为弹出窗口。我想如果没有 destroying.empty() 将无法工作。选择菜单并从头开始创建它。

因此您必须执行以下操作。

$("#vj")
    .selectmenu("destroy") // destory it
    .empty();              // remove options

之后,添加新的选项。

$("#vj").append("<option>");

添加完新选项后,确保使用 .selectmenu() 函数再次创建它。

$("#vj").selectmenu();

查看它在这个 demo 中的工作.

关于javascript - 无法在组合框 Jquery Mobile 上清空(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037977/

相关文章:

javascript - CK编辑器 : Restrict keys using blockedKeystrokes

javascript - 在jquery mobile中每3秒执行一个函数

javascript - 将 window 和 undefined 传递给立即调用的匿名函数。为什么?

javascript - Accordion 菜单保持打开状态直到关闭

javascript - Bootstrap .container-fluid 溢出

jquery - Rails 4 + 数据表 : Datatable not loading properly

jquery-mobile - 如何使某些项目(在 ListView 中)具有左侧图标位置

angularjs - 在一个项目中使用 AngularJS + jQuery Mobile 的优缺点

javascript - 嗨,我有容器,包含许多盒子图像

javascript - iframe 内 Web 元素的 QuerySelector