チェックボックスをオンにすると、ステータスが正常に変更され(Ajaxコールは成功し、DBにはチャネルが反映されます)、下のスパンにも「CHECK」が表示されます。 "checked"属性で正しく動作していません。私はここで何が欠けているのですか?チェックボックスが正しくチェックされていない
self.editStatus = function() {
var Status = null;
if (this.Status() == 'CHECK') {
this.Status(null);
Status = null;
} else if (this.Status() == null) {
this.Status('CHECK');
Status = 'CHECK';
}
$.ajax({
url: "SaveStatus/?ID=" + this.Id() + "&Status=" + Status,
type: "post",
contentType: "application/json",
success: function(result) {
if (result == "success") {}
self.selectedItem(null);
}
});
var test = this.Status();
}
私のKOのモデル構造は、このようなものです:
<!-- ko foreach: Group-->
<tr>
<td>
<span data-bind="text: TourName "></span>
</td>
<!-- ko if: $index() == 0 -->
<td style="vertical-align:middle" data-bind="attr: { rowspan: $parent.Group().length }">
<!-- ko if: $parent.Status() != 'DNB' -->
<input type="checkbox" data-bind="checked: ($parent.Status() === 'CHECK'),click: $root.editSellStatus.bind($parent)" />
<span data-bind="text: $parent.Status()"></span>
<!-- /ko -->
</td>
<!-- /ko -->
</tr>
<!-- /ko -->
これは私の編集方法です。
class MyClass {
Name: string;
year: string;
Group: Array<{
GroupName: string;
Status: string;
subGroup: Array<{....}>;
}>;
}
あなたのKOモデルを必要とし、あなたの結合、および関連するすべてのHTML。これは、何が起こっているかを知るのに十分なだけです。 –
あなたは[MCVE]が欠けています。 **関連コード**をすべて投稿してください。 – adiga