3

次のような Knockout.js ビュー モデルがあります。

"UserName":null,
"FirstName":null,
"LastName":null,
"Countries":{
    "arrCountries":[]
}

そして、すべて同じ値でレンダリングする必要がある国のチェックボックスのセットdata-bind(私は、カスタム HTML を各チェックボックスに適用できるこのカスタム CheckBoxListFor ヘルパーを使用していますが、それは各チェックボックスに同じカスタム HTML です。カミソリ ビュー モデルから利用可能なすべての国を選択してチェックボックスを作成し、別のカミソリ ビュー モデル プロパティに基づいてマークされた国をレンダリングします)。

チェックボックスの値は整数 (1、2、3 など) でarrCountriesあり、ビュー モデルのプロパティにスローしたいのはこれらの整数です。

現時点でのチェックボックスのレンダリング方法は次のとおりです。

<input checked="checked" data_bind="checked: ???" id="Countries.arrCountries107" name="Countries.arrCountries" type="checkbox" value="1"></input>

ビューモデルを更新するために使用するという概念を証明しましたviewModel.Countries.arrCountries.push(1);(その後、 arrCountries の要素の数を示して機能したことを証明するアラートが続きます)が、チェックボックスの HTML プロパティpushを取得できないようです私が送信してコマンドdata-bindを送信すると、それらがチェックおよびチェック解除されるように配線します。pushremove

どんな助けでも大歓迎です!

4

1 に答える 1

8

チェックされたデータ属性が選択した国を指すようにします。チェックボックスの値がチェックボックスの配列にある場合、チェックされます。それ以外の場合はありません。

<input checked="checked" data-bind="checked: Countries" type="checkbox" value="3"></input>

私が立てたこのフィドルを見てください。

http://jsfiddle.net/u8xP9/3/

于 2012-05-12T03:56:25.903 に答える