使用jQueryMobile,当我更改选择小部件的内容然后调用'刷新'在其上,所选选项的文本不会更改。这是场景......
选择'小部件已存在于页面div中。当用户转到该屏幕时,将根据他们选择转到该页面的按钮动态创建选项。此选项列表是根据
$('#searchReasonList').append(optionList)
构建和添加的
第一次进入新页面一切正常。当他们离开并返回时,我会
$('#searchReasonList').empty()然后我构建正确的选项列表并执行相同的追加并致电:
$('#searchReasonList').selectmenu('refresh',true)
本机选择确实已刷新,我可以从选项中进行选择。但是,所选选项不会显示。只看到占位符。
显示增强型标记:
<div class="ui-select">
<div class="ui-btn ui-btn-icon-right ui-btn-corner-all ui-shadow ui-btn-up-c" data-theme="c">
<span class="ui-btn-inner ui-btn-corner-all">
<span class="ui-btn-text">Select Reason</span>
<span class="ui-icon ui-icon-arrow-d ui-icon-shadow"></span>
</span>
<select id="searchReasonList" name="searchReasonList" data-placeholder="true">
<option value="">Select Reason</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
</select>
</div>
</div>
使用class='ui-btn-text'
标记的标记未使用所选选项的标签进行更新。它只是保持&#34;搜索原因&#34;,这是我占位符的标签。
还有其他事需要做吗?
答案 0 :(得分:7)
使用jQuery 1.0.1(此时最新的稳定版本),您可以使用.selectmenu('refresh')
刷新select-widget。
$('select').empty().append('<option value="foo">Bar</option>').selectmenu('refresh');
以下是演示:http://jsfiddle.net/4Thzt/
当您使用$('select').selectmenu('refresh', true);
(注意, true
)时,您强制不仅要刷新窗口小部件,还要重建窗口小部件,它将始终显示占位符文本。 来源:http://jquerymobile.com/demos/1.1.0-rc.1/docs/forms/selects/methods.html