消除持久状态选择值下拉 - jQuery Mobile

时间:2014-01-13 17:48:48

标签: javascript jquery html iphone jquery-mobile

我在混合iOS-Black Berry应用程序中有一个下拉/选择。我根据某些变量填充下拉列表,因此值会动态变化。我遇到的问题是,如果此人在下拉列表中进行选择,然后返回,并返回到具有下拉菜单的屏幕,即使现在选择不同,下拉列表中先前选择的值也是即使它不应该可用,仍然会被选中。

我在填充下拉列表之前尝试了这段代码:

mySelect.selectedIndex = 0
mySelect.empty()

我希望这会取消选择该值并清除下拉列表,但事实并非如此。它确实清除了下拉菜单,但旧的选择仍然存在,最终选中。

关于如何保持持久状态,有很多文章,找不到如何不去。有什么建议吗?

谢谢!

修改

我如何填充下拉列表 - 代码在函数内部,选项根据变量值而变化:

    myOptions = {
        1: 'aaaa',
        2: 'bbbb',
        3: 'cccc',
        4: 'dddd'
      }

$.each(myOptions, function (val, text) {
    mySelect.append(
        $('<option></option>').val(val).html(text)
    );
});

此函数位于custom.js中,并且正在从另一个jQuery文件调用。这适用于使用jQuery Mobile的移动应用程序。

我尝试过的事情:

mySelect.siblings('span').empty();

$("#id").selectmenu("refresh");

$("select[id$=mySelect] > option").remove();

$("select[id$=mySelect]").val('');

我在同一个函数中尝试了这些来填充下拉列表,在函数填充下拉列表之前调用的另一个函数以及各种其他组合中。

到目前为止,没有任何工作。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

jQM增强型选择菜单小部件将当前值写入SPAN,该SPAN是DOM中select元素的兄弟。你可以用以下方法清除它:

mySelect.siblings('span').empty();
  

这是 DEMO