1

Keno UI MVC gridがあり、 ClientTemplatefor チェック ボックス フィールドを作成しました。チェックボックスのクリックイベントで、選択したtrにクラスを追加しています。その行の詳細のポップアップ エディターを開きます。

ポップアップ ウィンドウを閉じると、チェック ボックスがオフになり、選択した行が選択解除されます。どうすればそれを防ぎ、状態を維持できますか。

チェックボックスのOnClickイベント

function chkClick(e) {
    isChecked = $(e).is(':checked');
    _addressId = $(e).val();


    var $tr = $(e).closest("tr");

    if (isChecked) {
        $tr.addClass("k-state-selected");
        $tr.find(".k-grid-edit").click();
    }
    else {
        $tr.removeClass("k-state-selected");
        $tr.find(".k-grid-cancel").click();
    }
}

Grid 行の OnEdit イベント

function onEdit(e) {

    e.container.data("kendoWindow").bind("close", function () {
        if (_addressId > 0) {
            var grid = $('#practiceLocationsGrid').data().kendoGrid;

            var dataItem = grid.dataSource.get(_addressId);

            dataItem.set('selected', isChecked);

        }
    })

}

チェックボックスをクリックする前に ここに画像の説明を入力

チェックボックスをクリックした後 ここに画像の説明を入力

編集ポップアップを閉じた後 (ウィンドウを閉じた後にわかるように、選択されている行が選択解除され、チェック ボックスがオフになります) ここに画像の説明を入力

4

1 に答える 1

-1

変更イベントで作成します。selectable true をオンにして、onchange イベントに open window 関数を記述します。

  template: "<input name='fullyPaid' class='ob-paid' type='checkbox' data-bind='checked: fullyPaid' #= fullyPaid ? checked='checked' : '' #/>"
 }
  ]
});


var grid = $("#grid").data("kendoGrid");
grid.tbody.on("change", ".ob-paid", function (e) {

// open the window. 
});

ここをチェック

http://jsbin.com/ebadaj/12/edit

于 2014-06-30T23:10:52.603 に答える