チェックボックスのリストとして表示して表示する必要がある2つの配列があります。 主なアイデアは、最初のリストの要素をクリックして2番目のリストに要素を追加することです。 HTMLコードがこのノックアウトのチェックボックスリストのチェック属性
<div class="tab-pane" id="ColumnHeading">
<div class="row">
<div class="form-group span4">
<h4>Column Headings</h4>
<ul class="icons-ul" data-bind="foreach: staticItem.ColumnHeadingList.ColumnHeadingListItem" >
<li>
<div class="span2">
<input class="selectedHeading" type="checkbox" data-bind=" click: $parent.myCheck, checkedInArray: $parent.Params.Item.ColumnHeadingList.ColumnHeadingListItem, attr: { value: Value }" />
<span data-bind="text: Name"></span>
</div>
</li>
</ul>
</div>
<div class="form-group span4" style="margin-left: -90px; margin-top: 15px">
<div class="icons-ul" data-bind="foreach: Params.Item.ColumnHeadingList.ColumnHeadingListItem" >
<div class="span4">
<input type="checkbox" data-bind="customcheck: IntOnly" />
</div>
</div>
</div>
<div class="span6">
<p class="validationMessage" data-bind="validationMessage: Params.Item.ColumnHeadingList.ColumnHeadingListItem"></p>
</div>
</div>
値のように見える「IntOnlyは」チェックボックスの二つのリスト内の各オブジェクトのプロパティです。
チェックボックスの最初のリスト上のクリックイベントのための私の機能はcustomcheck機能チェックcuzをIntOnlyに値を第二のリストに要素を追加し、保存するためのコードが正常に動作して、この
self.myCheck = (function(e) {
var index = self.staticItem.ColumnHeadingList.ColumnHeadingListItem().map(function(e) { return e.Value(); }).indexOf(this.Value());
if (self.staticItem.ColumnHeadingList.ColumnHeadingListItem()[index].IntOnly() !== "Y") {
self.staticItem.ColumnHeadingList.ColumnHeadingListItem()[index].IntOnly("Y");
var o = self.staticItem.ColumnHeadingList.ColumnHeadingListItem()[index];
var flag = false;
for (i = 0; i < self.Params.Item.ColumnHeadingList.ColumnHeadingListItem().length; i++) {
if (this.Value() == self.Params.Item.ColumnHeadingList.ColumnHeadingListItem()[i].Value()) {
flag = true;
}
}
if (flag == false || self.Params.Item.ColumnHeadingList.ColumnHeadingListItem().length == 0) {
var newObject = jQuery.extend(true, {}, this);
self.Params.Item.ColumnHeadingList.ColumnHeadingListItem.push(newObject);
}
} else { //checked==true
self.staticItem.ColumnHeadingList.ColumnHeadingListItem()[index].IntOnly("N");
for (i = 0; i < self.Params.Item.ColumnHeadingList.ColumnHeadingListItem().length; i++) {
if (this.Value() == self.Params.Item.ColumnHeadingList.ColumnHeadingListItem()[i].Value()) {
self.Params.Item.ColumnHeadingList.ColumnHeadingListItem.splice(i, 1);
}
}
}
return true;
});
のように見えるものIntOnlyの値はチェックボックスを選択すると 'Y'になりますが、その値を取得していても最初のリストのプロパティを保存することができ、フォームがサーバーに送信されて編集用に表示された後にチェックボックスを選択します。
ご迷惑をおかけして申し訳ございませんが、ご迷惑をおかけして申し訳ございません。
それは望ましい結果がどうあるべきか、私には本当にはっきりしていませんか?アイテムの静的なリストがあり、すべてチェックボックスが表示されます。アイテムがチェックされている場合、別のチェックボックスを使って別のリストに表示されますか? 2番目のチェックボックスは何ですか?一般的なアドバイス: 'checked'データバインドを使用している場合、' click'や 'attr:{value:..}'データバインドは必要ありません。 – user3297291
基本的に私は1つの静的リストを画像上に最初に持っています。各要素にはプロパティがあります。intOptこのオブジェクトの1つをクリックすると、オブジェクトのプロパティが "y"に変更され、オブジェクトは2番目のリストに追加する必要があります。それはうまく動作しますが、2番目のリストにあるチェックボックスをチェックし、 "Y"のプロパティを持つノックアウトのチェック方法を使用する方法はわかりません。 – UserEsp