【问题标题】:Getting exception while adding datepicker in jqgrid在 jqgrid 中添加日期选择器时出现异常
【发布时间】:2017-03-21 10:13:36
【问题描述】:

我在添加日期选择器时遇到异常:

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 型号:

{
            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

【问题讨论】:

  • 您写了“我正在使用 JQuery 4.0.0”。你的意思可能是 jqGrid 4.0.0。您使用哪个版本的 jQuery UI?错误的堆栈显示您尝试使用 jQuery 1.6.2,不能与复古版本 jqGrid 4.0.0 一起使用。对于 jqGrid 4.0.0 来说太新了。 如果您想(必须)继续使用 jqGrid 4.0.0,那么您必须使用 jQuery 1.6 之前的版本。您也只能使用复古版本的 jQuery UI。
  • 抱歉 JQGRID 4.0.0 我正在使用
  • 你用的是哪个版本的jQuery UI? datepicker是jQuery UI的小部件。无论如何,您必须将 jQuery 降级到 1.4.4 或 1.5.2。您是否尝试降级到 jQuery?您现在遇到哪个错误?
  • 我使用的是 JQuery 1.6.0
  • 我再说一遍,您不能使用 jQuery 1.6,因为它在处理属性和属性方面包含许多变化。复古版 jqGrid 4.0.0 必须与复古版 jQuery 和 jQuery UI 一起使用。如果您的汽车有柴油发动机,则就像您必须使用柴油一样。你不能给汽车加油,也不能用电来开车。

标签: jquery datepicker jqgrid


【解决方案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(例如 1.8.24)到最新的 1.12.1 的任何 jQuery UI 一起使用,或者使用 Bootstrap 3.x 或 4.0.0-alpha6。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多