我有一个要点在这里演示我的问题:
https://gist.run/?id=e2ccd5925e383f2fc36ad277c31bcf23
复选框版本可以正常工作,如果删除了复选框,它会正确更新模型,但是如果您更改选定的单选按钮,它将保留删除了所选内容的单选按钮上的真实值。如果删除model.bind="true"
值,它将写为“ on”而不是true。我确实想要true / false,而不是on / off。
我希望该对象将其属性更新为true或false,这取决于是否动态选择该对象。在我的情况下,我不知道需要选择多少个单选按钮或复选框。我只知道在它不是一个集合的情况下,我只想要一个,而在它不是一个集合的情况下,我希望选择一个未知数。
答案 0 :(得分:2)
就像其他答案提到的那样-<input type="checkbox">
的行为不同于<input type="radio">
。
我已将您的要点进行了分叉,并进行了以下更改,以使单选按钮在aurelia中起作用:
1)向您的params
集合中的第一个对象添加了一个名为selectedChanged
的函数(它不一定存在,可以放在viewmodel类上,也许是一个更好的地方)。它负责处理单选按钮组中的选择更改,特别是它将遍历options
(第二个参数)的集合,并将selected
的{ {1}}与函数的第一个参数匹配,在所有其他选项上为false。
2)true
上有一个名为id
的事件,我将其委托给上述的名为input
的函数,并传递change
值和{{1 }}作为参数。
https://gist.run/?id=5f38414fde799dfc145fc1291d9f2fd3&sha=f12283b08bfb45e77b8280d46a3709b6ccb82768
答案 1 :(得分:0)
我认为您想实现的目标(打开/关闭单个值)无法通过无线电实现,因为它的工作方式(从集合中选择单个值)与复选框(打开单个值)不同/ off)(MDN reference)。因此,如果您确实希望具有类似收音机的外观,并具有复选框行为,请考虑使用一些CSS和额外的DOM元素使它看起来像这样,并表现得如此。