Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选中的数据绑定不适用于敲除js中的单选按钮_Javascript_Html_Knockout.js_Knockout 2.0 - Fatal编程技术网

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"