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),否则还是没用。

  • 相关阅读:
    学习php中的正则表达式,PHP正则表达式基础
    在新浪云SAE中使用smarty引擎模版
    随笔
    HTML 基础(二)
    HTML笔记(一)
    数据挖掘之异常检测
    DHCP协议
    基础的Linux命令(二)
    基础的linux命令(一)
    VMware虚拟机安装
  • 原文地址:https://www.cnblogs.com/Lenbrother/p/10246026.html
Copyright © 2011-2022 走看看