Javascript 在Internet Explorer中将可绑定复选框列添加到网格

Javascript 在Internet Explorer中将可绑定复选框列添加到网格,javascript,internet-explorer,checkbox,kendo-grid,Javascript,Internet Explorer,Checkbox,Kendo Grid,难以读取剑道网格中复选框的值。 案件由OnaBai解决,并为Chrome工作,OnaBai举了一个例子:。 但在InternetExplorer(至少)8和9中,事件只触发一次,之后不会更新值。有什么想法吗 找到了一个似乎有效的黑客。如果是MSIE,则在每次单击网格中的复选框时重新创建更改事件。有关代码的其余部分,请参见原始案例 model.vesselGrid.tbody.on("change", ".ob-paid", function (e) { onChange(

难以读取剑道网格中复选框的值。 案件由OnaBai解决,并为Chrome工作,OnaBai举了一个例子:。
但在InternetExplorer(至少)8和9中,事件只触发一次,之后不会更新值。有什么想法吗

找到了一个似乎有效的黑客。如果是MSIE,则在每次单击网格中的复选框时重新创建更改事件。有关代码的其余部分,请参见原始案例

    model.vesselGrid.tbody.on("change", ".ob-paid", function (e) {
        onChange(e);
    });

    function onChange(e) {
        system.log("click");
        var row = $(e.target).closest("tr");
        var item = model.vesselGrid.dataItem(row);
        var ck = $(e.target).is(":checked") ? 1 : 0;

        item.set("IsSelected", ck);
        var brwsr = getBrowser();
        if (brwsr == "MSIE") {
            model.vesselGrid.tbody.on("change", ".ob-paid", function (ee) {
                onChange(ee);
            });
        }
    }

    //http://stackoverflow.com/questions/5916900/detect-version-of-browser
    function getBrowser() {
        var N = navigator.appName, ua = navigator.userAgent, tem;
        var M = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
        if (M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] = tem[1];
        M = M ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];
        return M[0];
    }

找到一个似乎有效的黑客。如果是MSIE,则在每次单击网格中的复选框时重新创建更改事件。有关代码的其余部分,请参见原始案例

    model.vesselGrid.tbody.on("change", ".ob-paid", function (e) {
        onChange(e);
    });

    function onChange(e) {
        system.log("click");
        var row = $(e.target).closest("tr");
        var item = model.vesselGrid.dataItem(row);
        var ck = $(e.target).is(":checked") ? 1 : 0;

        item.set("IsSelected", ck);
        var brwsr = getBrowser();
        if (brwsr == "MSIE") {
            model.vesselGrid.tbody.on("change", ".ob-paid", function (ee) {
                onChange(ee);
            });
        }
    }

    //http://stackoverflow.com/questions/5916900/detect-version-of-browser
    function getBrowser() {
        var N = navigator.appName, ua = navigator.userAgent, tem;
        var M = ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i);
        if (M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] = tem[1];
        M = M ? [M[1], M[2]] : [N, navigator.appVersion, '-?'];
        return M[0];
    }