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

转载于:https://www.cnblogs.com/Lenbrother/p/10246026.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值