1

剑道网格中复选框的阅读难度值。将可绑定复选框列添加到网格的案例由 OnaBai 解决并适用于 Chrome,并且 OnaBai 做了这个例子:: http: //jsbin.com/ebadaj/12/edit。但在 Internet Explorer(至少)8 和 9 中,事件只触发一次,之后值不会更新。有任何想法吗?

4

1 回答 1

1

发现了一个似乎有效的黑客。如果是 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];
    }
于 2013-09-25T13:27:43.327 回答