【发布时间】:2015-04-08 19:17:05
【问题描述】:
我在我的 html5 应用程序中使用knockout 进行绑定。
我有一个奇怪的场景。
我正在使用下面的 for 循环绑定一个 div
<div data-bind="foreach: oneList"> <select name="dropDown1" id="dropDown1" data-bind="options: ddList,optionsText: function(item) { return item.value;},optionsValue:function(item) { return item.key; }"> </select> <input type="text" id="newValue" data-bind="value : oneValue"/> </div>
这里oneList是不同的变量,ddList是不同的变量,都是独立变量。
因此,当实际绑定发生时,下拉菜单不会绑定,但输入文本已绑定,因为 oneList.oneValue 有效但 oneList.ddList 无效
如果我的问题不清楚,请告诉我
【问题讨论】:
-
你真的有你的
inputinsideselect元素吗?因为这不是有效的 HTML,它可能会混淆 KO 绑定... -
对不起,这只是复制/粘贴问题,实际上它在选择元素之外。请检查更新的问题。
-
首先,您应该检查浏览器的控制台是否存在绑定错误。然后您还应该发布您的视图模型,因为没有它我们无法判断绑定为什么不起作用。可能没有
oneList.ddList,您需要在绑定上下文中“向上”使用$parent或$root,例如data-bind="options: $parent.ddList... -
谢谢@nemesv 它正在工作请发布你的答案我会接受并关闭这个问题
标签: javascript html knockout.js