Javascript 选中的数据绑定不适用于敲除js中的单选按钮
这可能不是你最终想要做的,但它至少可以让你做一些有趣的事情 尽管您可以参考Javascript 选中的数据绑定不适用于敲除js中的单选按钮,javascript,html,knockout.js,knockout-2.0,Javascript,Html,Knockout.js,Knockout 2.0,这可能不是你最终想要做的,但它至少可以让你做一些有趣的事情 尽管您可以参考模型,因为它是一个全局变量,但您不应该这样做。(它不应该是全局变量。)不要使用model.distance,只需在foreach绑定中使用distance。在foreach中,上下文会发生变化。要引用选中的(未在每个距离对象中定义),需要使用$parent.checked。您可以直接使用值,因为上下文是当前距离对象 您可能想做的是让每个按钮都标记上自己的值,然后在foreach外部打印选中的值,以指示其当前值。如前所述,选
模型
,因为它是一个全局变量,但您不应该这样做。(它不应该是全局变量。)不要使用model.distance
,只需在foreach
绑定中使用distance
。在foreach中,上下文会发生变化。要引用选中的(未在每个距离对象中定义),需要使用$parent.checked
。您可以直接使用值
,因为上下文是当前距离
对象
您可能想做的是让每个按钮都标记上自己的值
,然后在foreach外部打印选中的值
,以指示其当前值。如前所述,选中的值将打印在每个按钮旁边,当您更改选择的按钮时,这些值都会更改
另外:选中的项的值应为字符串,因为输入项的值为字符串
var模型={
距离:ko.Array([{
价值:500
}, {
价值:1000
}, {
价值:5000
}, {
价值:10000
}]),
检查:可观察的ko('1000')
};
ko.应用绑定(模型)代码>
问题在于您没有设置每个项目的正确值。相反,它们都有值“value”
取出
var model= {
filter_list: ko.observableArray([{filter:'restaurant'},{filter:'hospital'},{filter:'atm'},{filter:'cafe'}]),
fav_list: ko.observableArray([{fav:'Pizzahut'},{fav:'Dominos'},{fav:'Barista'}]),
distance: ko.observableArray([{value: 500},{value: 1000},{value: 5000},{value: 10000}]),
check: ko.observable(1000)
};
并将数据绑定到
value="value"
您的ko.applybindings(…)
语句是什么?您可能不需要在绑定中使用模型。
。`ko.applyBindings(new myViewModel());`我用它来绑定视图模型,除了radiobutton的选中绑定之外,所有东西都可以工作。它不工作,因为您的距离ObservalArray不包含“check”属性,并且您处于foreach循环中,所以您可以做的是:
value="value"
data-bind="checked: model.check, checkedValue: value"