Javascript 剔除JS单选按钮如果所有值均为真,则选择最后一个按钮
我想做的是显示一些带有服务器数据的单选按钮。问题是单选按钮的选中值可能全部为false,然后KO自动选择最后一个单选按钮,就像我在下面创建的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
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'">