【问题标题】:Adding bindeable checkbox column to grid in Internet Explorer在 Internet Explorer 中将可绑定复选框列添加到网格
【发布时间】:2013-09-29 13:52:40
【问题描述】:

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

【问题讨论】:

    标签: javascript internet-explorer checkbox kendo-grid


    【解决方案1】:

    发现了一个似乎有效的 hack。如果是 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-07-27
      • 1970-01-01
      • 1970-01-01
      • 2012-08-25
      • 2015-08-10
      • 2017-06-28
      • 2014-03-01
      • 2017-09-26
      • 2015-04-04
      相关资源
      最近更新 更多