Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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_Knockout.js_Data Binding_Radio Button_Radio - Fatal编程技术网

Javascript 剔除JS单选按钮如果所有值均为真,则选择最后一个按钮

Javascript 剔除JS单选按钮如果所有值均为真,则选择最后一个按钮,javascript,knockout.js,data-binding,radio-button,radio,Javascript,Knockout.js,Data Binding,Radio Button,Radio,我想做的是显示一些带有服务器数据的单选按钮。问题是单选按钮的选中值可能全部为false,然后KO自动选择最后一个单选按钮,就像我在下面创建的JS小提琴一样。如果其中一个值为真,那么这完全符合预期,但在我的情况下,这些值很可能都为假 self.addItems=功能(项目){ 对于(项目中的变量x) { self.Items.push(新项(项[x]); } } 功能项(项){ this.ID=items.ID; 此项检查=可观察(假); } 编辑: 通过设置checkedValue:'tru

我想做的是显示一些带有服务器数据的单选按钮。问题是单选按钮的选中值可能全部为false,然后KO自动选择最后一个单选按钮,就像我在下面创建的JS小提琴一样。如果其中一个值为真,那么这完全符合预期,但在我的情况下,这些值很可能都为假

self.addItems=功能(项目){
对于(项目中的变量x)
{
self.Items.push(新项(项[x]);
}
}
功能项(项){
this.ID=items.ID;
此项检查=可观察(假);
}
编辑: 通过设置
checkedValue:'true'
并设置
this.Checked=ko.observable(“false”)
,我的问题得到了解决

来自:

对于单选按钮,当且仅当参数值等于单选按钮节点的``值属性或
checkedValue
参数指定的值时,KO才会设置要检查的元素

在您的情况下,您需要将
checkedValue
设置为
true
,这样当
Checked
observable包含
true
时,它才会检查您的单选按钮:

<input type="radio" name="radioB" data-bind="value: $data.ID, 
                                             checked: Checked, 
                                             checkedValue: true">
演示:

来自:

对于单选按钮,当且仅当参数值等于单选按钮节点的``值属性或
checkedValue
参数指定的值时,KO才会设置要检查的元素

在您的情况下,您需要将
checkedValue
设置为
true
,这样当
Checked
observable包含
true
时,它才会检查您的单选按钮:

<input type="radio" name="radioB" data-bind="value: $data.ID, 
                                             checked: Checked, 
                                             checkedValue: true">

演示:

问题是现在所有的都是真的,所以当我从服务器获取数据说其中一个是真的,那么就没有值被检查了。您是否删除了name属性?对于我来说,这里的所有true和false都可以正常工作:,如果它仍然不工作,你能更新这个fiddle吗?我没有删除名称atribute,因为我需要它们作为一个组,这就是为什么它们在我制作的jsfiddle中有相同的名称,但是,您应该确保从服务器获得一个真正的布尔值,而不仅仅是字符串
“true”
。因为如果你有字符串,你需要像这样的东西:谢谢!设法让它正常工作!我在你上次的js小提琴中设置了它,它成功了!问题是现在所有的都是真的,所以当我从服务器得到数据说其中一个是真的,然后就没有值被检查了。您删除了name属性了吗?对于我来说,这里的所有true和false都可以正常工作:,如果它仍然不工作,你能更新这个fiddle吗?我没有删除名称atribute,因为我需要它们作为一个组,这就是为什么它们在我制作的jsfiddle中有相同的名称,但是,您应该确保从服务器获得一个真正的布尔值,而不仅仅是字符串
“true”
。因为如果你有字符串,你需要像这样的东西:谢谢!设法让它正常工作!我在你上次的js小提琴中设置了它,它成功了!请确保问题本身包含重新处理问题所需的所有代码。如果您的问题对未来的访问者来说将变得不那么有用。请确保问题本身包含重新编写问题所需的所有代码。如果你的答案是肯定的,那么这个问题对未来的访问者来说就没那么有用了。
<input type="radio" name="radioB" data-bind="value: $data.ID, 
                                             checked: Checked, 
                                             checkedValue: 'true'">