今のところノックアウトを使用していますが、このエラーが発生しました。"同じ要素にバインディングを複数回適用することはできません"私はここでいくつかの解決策を読んで、そのうちの1つを使用しようとしていました。ここでノックアウトの複数の要素にバインディングを適用する
は私のコードスニペットは、ページが、私はIDの
var sections =
{
defects :
{
a : '',
b : '',
c : '',
}
};
、B、Cを呼び出しています、それを通してJSON
$(document).ready(function()
{
$.each(sections, function(index0, v)
{
console.log("I am here");
$.each(v, function(index1, v1)
{
console.log("went inside the looping statement");
console.log(index1);
ko.applyBindings(new Model, document.getElementById(index1));
});
});
});
をロード完了すると
バインディングを適用しています私のHTMLコードのidです。 は、ここですべてのヘルプは本当に感謝され
<tr class="" id="a" >
<td>
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 question" >
<label class="QuestionTextProperties">Question 1 </label>
</div>
<div class="btn-group col-lg-12 col-md-12 col-sm-12 col-xs-12" data-toggle="buttons">
<label class="btn col-lg-6 col-md-6 col-sm-6 col-xs-6" > <input type="radio" name="a" data-bind="click:radio('defects','a')" class="a" value="0" id="a_No" ><i class="fa fa-circle-o "></i><i class="fa fa-check-circle-o "></i><span class="OptionsTextProperties"> No </span> </label>
<label class="btn col-lg-6 col-md-6 col-sm-6 col-xs-6" > <input type="radio" name="a" data-bind="click:radio('defects','a')" class="a" value="1" id="a_Yes" ><i class="fa fa-circle-o "></i><i class="fa fa-check-circle-o "></i><span class="OptionsTextProperties"> Yes </span> </label>
</div>
</td>
</tr>
のViewModel
var Model = function()
{
var self = this;
self.radio = function(key,key1)
{
console.log(key,key1);
return;
}
}
HTMLコードのためのコードです。前もって感謝します。
あなたのHTMLを表示します。バインドしている要素は、お子様やお互いの親になることはできません。例えば。 '#id1 +#id2' *は*ですが、'#id1>#id2'は許されません。 – user3297291
実際にHTMLとindex1の値を確認する必要があります。 すべてのセクションが兄弟である場合、コードはうまく動作するはずですが、エラーメッセージはネストされたセクションがあることを示しています。 – Shadowfox
私は解決策を得ましたが、私のアプローチは少し変わります。私はあなたのコメントを読んで私が作っていた間違いを知ったと思います。 HTMLで質問を編集しました。ありがとう。 – user6000866