1

我有一个Keno UI MVC 网格,我创建了一个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

创建更改事件。可选择 true 并在 onchange 事件中编写打开窗口函数。

  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 回答