javascript - easyui tabs 加载页面时使用css初始化easyui的组件失败的问题
迷茫
迷茫 2017-04-10 16:46:47
0
2
707

举个例子,

<body>
    <input id='text' class='easyui-textbox'>
    <script>
        $(function(){
            $("#text").textbox("setValue","123");
        });
    </script>
</body>

一般这样能成功的为text赋值

但是今天在开发的时候遇到问题了,我使用easyui的tabs,我利用tabs的href的属性来加载B页面
而B页面也有上面这一段的代码。
但是不能成功的为text标签赋值(报错了,报错的意思就是text不是一个textbox),而这个时候发现text标签连easyui-textbox的一些样式都没有加载上去。显然因为js中为text赋值的方法出错了,导致text无法正常渲染,也有可能是因为class和js同时执行,导致css尚未加载完成的时候就执行了赋值的js导致出错了。。。。不知道大家有没有遇到这样的问题,求解答,各位是怎么解决的呢?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

reply all(2)
左手右手慢动作

你添加上的input 首先作为一个DOM元素添加到DOM树中
接下来马上就会执行

 $("#text").textbox("setValue","123");

setValue方法要求easyui的textbox对象存在-之前已经创建完成的,但是在这里是没有这个对象的~~~

解决方法为
监听tabs的unload事件,在你指定的panel上完成HTML元素的加载后
执行textbox对象的创建

$('#tb').textbox({
    ...
    value:"123"
})
黄舟

js代码要放在body里面,href方式会过滤掉头

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template