设置值后加载选择选项

时间:2014-03-10 16:36:10

标签: jquery-mobile knockout.js

我的程序流程要求我首先在Viewmodel中设置select选项的值,然后将可用选项加载到Viewmodel中。这会导致问题,通常在此后的选择列表中会看到第一个可用选项,而所选选项值保持在指定值。

我希望设置新的“valueAllowUnset”会有所帮助,但是在使用它时我的页面会变得无法响应。

因此我在加载选项后再次设置原始值。奇怪的是,这仅在我设置值,设置不同的值然后再次设置值时才有效,例如

self.data()[field](orgValue);
self.data()[field]({});
self.data()[field](orgValue);

(我在self.data observable中存储了多个选择列表的值,并使用属性索引“field”访问它们。)

我试图将其剥离为一个简单的JSFiddle(http://jsfiddle.net/timvdh/HN6DE/),但行为并未显示在那里,尽管该示例与我的实际应用程序非常相似。但是,我在那里使用了大约30个选择列表。

所以我希望,有人可以对我的应用程序中出现的问题进行有根据的猜测,我希望我必须将原始值设置三次才能提供线索。

编辑:这个小提琴演示了,在填充选项列表之前和之后设置所选选项确实可以使用“valueAllowUnset”:http://jsfiddle.net/timvdh/HT5Tp/

我正在使用带有knockout.js的JQuery Mobile,这导致了问题(对不起,我甚至没有想到JQM首先出现问题)。我现在在填写列表之前设置选项,填写列表后我打电话

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

显示选项。

悬挂式浏览器不是由淘汰引起的,我的应用程序中还有对selectmenus的额外订阅。 “valueAllowUnset”改变了我的代码中的问题引起的selectmenus和触发循环的行为。

0 个答案:

没有答案