zoukankan      html  css  js  c++  java
  • easyui报错“Cannot read poperty 'options' of undefined”问题解决方案之一

    别逼逼了,我要看解决方法

    问题产生原因

    最近在项目中使用jquery easyui做页面。其中有个优化问题,我是将原本由jsp通过jstl标签生成的页面改成js通过dom去延迟生成了。
    但是js生成的代码在执行过程中报错“Cannot read poperty 'options' of undefined”。
    本来的jstl生成的页面不报错,但是js操作生成的代码报错,而且是其中部分页面报错。

    问题发现

    最终我发现报错的页面都是带有时间的页面,也就是说我使用如下代码生成的。

        var parentDiv = $("#parentDiv");
        var timeInput = document.createElement("input");
        timeInput.className = "easyui-datebox";//easyui日期插件,就是这个地方导致的报错
        timeInput.id = "aaa";
        parentDiv.appendChild(timeInput);
    
    

    问题原因就是js生成的代码要用到easyui的class样式,这时候就会报错。
    因为jquery函数执行了类似如下代码:

        var dateboxInput = $.data(input, "datebox");
        var opts = dateboxInput.options; 
    

    jquery认为这是个datebox类型的数据,但是去解析却得到了undefined。

    解决方法

    解决方案就是在你加了class的标签的父级标签,加这么一行代码:$.parser.parse(parentDiv);,加了这一句以后eayui就会重新加载一遍这一块代码,样式和功能都会加上的。
    记住一定要在js生成的添加class标签的元素的父级元素上面加$.parser.parse(parentDiv),否则还是没用。

  • 相关阅读:
    codevs2034 01串2
    codevs2622数字序列( 连续子序列最大和O(n)算法)
    codevs3008加工生产调度(Johnson算法)
    codevs1955光纤通信(并查集)
    codevs4203山区建小学
    codevs2618核电站问题
    常用端口
    ntp时间同步服务器
    date linux系统校正时间
    用户切换
  • 原文地址:https://www.cnblogs.com/Lenbrother/p/10246026.html
Copyright © 2011-2022 走看看