У меня есть этот код в моем ASP. Net проекте, который использует knockout. js:
<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
, у меня есть другой * Файл 1025 *, который включает в себя этот файл, например:
<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, включая 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>
, однако, это не сработало. Есть идеи?