我在我的ASP.Net项目中使用了代码,该代码正在使用剔除:
<div>
<input type="radio" name="hearingAidConditionGroup" value="Yes" data-bind="checked: condition"> <label class="YesNo"> Yes </label>
<input type="radio" name="hearingAidConditionGroup" value="No" data-bind="checked: condition"> <label class="YesNo"> No </label>
</div>
它存储在一个名为的文件中a.cshtml
,我还有另一个html文件,其中包括:
<div data-bind="with: testConditions()[0]">
<h4>Test conditions</h4>
@Html.Partial("~/a.cshtml")
</div>
<div data-bind="with: testConditions()[1]">
<h4>Second test conditions</h4>
@Html.Partial("~/a.cshtml")
</div>
在我的js文件中,我有:
this.testConditions = ko.observableArray([
{ condition: "Yes" },
{ condition: "Yes" }
]);
所以问题是我如何区分单选按钮,就像上面的代码一样,表单中的所有单选按钮都具有相同的名称,并且基本上在div上选择其中一个(包括div)testConditions()[0]
会影响div中的另一个(包括testConditions()[1]
反之亦然)。
我正在考虑在数组中添加第二个属性,例如:
this.testConditions = ko.observableArray([
{ condition: "Yes", itemname: "group1" },
{ condition: "Yes", itemname: "group2" }
]);
并在html中使用它,例如:
<div>
<input type="radio" value="Yes" data-bind="checked: condition, name: itemname"> <label class="YesNo"> Yes </label>
<input type="radio" value="No" data-bind="checked: condition, name: itemname"> <label class="YesNo"> No </label>
</div>
但是,它没有用。有任何想法吗?
我找到了答案:
<div>
<input type="radio" value="Yes" data-bind="checked: condition, attr: { 'name': itemname}"> <label class="YesNo"> Yes </label>
<input type="radio" value="No" data-bind="checked: condition, attr: { 'name': itemname}"> <label class="YesNo"> No </label>
</div>