我在混合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('');
我在同一个函数中尝试了这些来填充下拉列表,在函数填充下拉列表之前调用的另一个函数以及各种其他组合中。
到目前为止,没有任何工作。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
jQM增强型选择菜单小部件将当前值写入SPAN,该SPAN是DOM中select元素的兄弟。你可以用以下方法清除它:
mySelect.siblings('span').empty();
这是 DEMO