在jqgrid中添加datepicker时获取异常

时间:2017-03-21 10:13:37

标签: jquery datepicker jqgrid

我在添加datepicker时遇到异常:

Uncaught TypeError: a.getAttribute is not a function
    at M._attachDatepicker (jquery-ui-core.min.js:489)
    at Object.<anonymous> (jquery-ui-core.min.js:553)
    at Function.each (jquery-1.6.2.js:16)
    at init.each (jquery-1.6.2.js:16)
    at init.d.fn.datepicker (jquery-ui-core.min.js:553)
    at Object.dataInit (common.js:1042)
    at h (jquery.jqGrid.min.js:4229)
    at Object.createEl (jquery.jqGrid.min.js:4376)
    at Object.<anonymous> (jquery.jqGrid.min.js:4859)
    at Function.each (jquery-1.6.2.js:16)
_attachDatepicker @ jquery-ui-core.min.js:489

Col Model:

{
            name:'billDate',
            index:'billDate',
            formatter: 'date',
            sortable:false,
            align:'center',
            editable:true,
            edittype:"text",
            hidden:'true',
            editoptions: {
                size: 20,
                maxlengh: 10,
                dataInit: function (element) {
                    $(this).datepicker({
                        dateFormat: 'yy-mm-dd',
                        constrainInput: false,
                        showOn: 'button',
                        buttonText: '...'
                    });
                }
            },
            editrules: {
                date: true,
                minValue: 0
            },
            formatoptions: {
                newformat: "Y-m-d"
            }
        }

我正在使用JQGrid 4.0.0

1 个答案:

答案 0 :(得分:1)

如果你想继续使用jqGrid 4.0.0的复古版,那么你必须使用jQuery和jQuery UI的复古版本。错误消息的堆栈显示您尝试将jQuery 1.6.2与jqGrid 4.0.0一起使用。这是不可能的。在jQuery 1.6中改变了使用属性和属性的jQuery方法。旧的jqGrid 4.0.0使用jQuery.attr而不是jQuery.prop

简短说明:可以将jqGrid 4.0.0与蒸汽马达进行比较。您不能将蒸汽马达与柴油,汽油,天然气或电力一起使用。

你必须降级jQuery,你使用它来使用版本1.4.4或1.5.2才能使用jqGrid 4.0.0。

或者你可以升级jqGrid 4.0.0以释放jqGrid 4.14.0并使用从1.7.2开始的几乎任何版本的jQuery。推荐的jQuery版本是3.2.1,2.2.4或1.12.4。你可以使用免费的jqGrid 4.14.0和任何从1.8开始的jQuery UI(例如1.8.24)到最新的1.12.1,或者使用Bootstrap 3.x或4.0.0-alpha6。