0

我现在被困了一天......主要问题是,我无法让选择菜单的 jqm 小部件正确反映“选定”条目。

我选择第二个选项,然后重置..所以它返回到第一个选项。好的!但它第二次不起作用。为什么不?源代码正确地指出第一个选项是“选定的”,但它没有显示。它再次工作,页面重新加载后......

最重要的是,如果我在 jqm 弹出窗口小部件中使用选择菜单,它甚至不会工作一次。我认为这两个问题是相关的。

function reset() {  
    $('#myselect option[value="1"]').attr("selected", true);
    //$('#myselect').selectmenu();
    $('#myselect').selectmenu('refresh');
}

<div class="ui-field-contain">
    <label for="myselect">Basic:</label>
    <select  name="select-native-1" id="myselect">
        <option value="1">The 1st Option</option>
        <option value="2">The 2nd Option</option>
        <option value="3">The 3rd Option</option>
        <option value="4">The 4th Option</option>
    </select>
</div>

<button onclick="reset();">Reset</button>

示例:https ://jsfiddle.net/0v5f6m88/12/

提前致谢!

4

1 回答 1

2

这对我有用:

function selectReset() {    
  $('#myselect').val("1");
    $('#myselect').selectmenu('refresh', true);
}

至于为什么您的原始代码不起作用,这与 jquery mobile 如何处理所选值有关。如果您在选择值时查看原始选择,则该选项上没有“已选择”属性。我想这与此有关,但不知道为什么它第一次起作用。

于 2017-03-11T23:33:23.940 回答