jquery mobile选择的选项不会更新'刷新'

时间:2012-03-14 19:51:19

标签: jquery select jquery-mobile refresh

使用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;,这是我占位符的标签。

还有其他事需要做吗?

1 个答案:

答案 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