- 论坛徽章:
- 0
|
在学习Jquery EasyUi,目前发现一个问题,不知道如果解决。
目前有两个页面,a.jsp 和 b.jsp 。其中a.jsp中只有一个下拉菜单,用浏览器单独访问a.jsp的时候,是可以正常显示的,请看a.jsp的部分代码:
- <script type="text/javascript">
- jQuery(function($){
- $('#cc').combogrid({
- panelWidth:450,
- value:'006',
-
- idField:'code',
- textField:'name',
- url:'datagrid_data.json',
- columns:[[
- {field:'code',title:'Code',width:60},
- {field:'name',title:'Name',width:100},
- {field:'addr',title:'Address',width:120},
- {field:'col4',title:'Col41',width:100}
- ]]
- });
- });
- </script>
- <body>
复制代码
下拉菜单:
- <select id="cc" name="dept" style="width:450px;"></select>
- </body>
复制代码
b.jsp中有一个window,window的href为a.jsp,在b.jsp中不能够正常显示a.jsp的下拉菜单,请看b.jsp中的部分代码:
- <script type="text/javascript">
- $(function(){
- $('#win').window({
- width:600,
- height:400,
- href:'a.jsp'
- })
- });
- </script>
- <body>
- <div id="win" iconCls="icon-save" title="My Window">
- Window Content
- </div>
- </body>
复制代码
查询之后,发现是b.jsp的window在显示a.jsp时,a.jsp中页面加载的时候调用的初始化语句块没有调用成功,具体的没有调用的a.jsp的代码为:- jQuery(function($){
- ........
- })
复制代码
不知道为什么会出现这种问题,难道一个页面被另一个页面用href引用之后就不能调用自身的初始化语句块了吗?
问题补充:
shixy 写道
关键是看你用什么方式来加载页面,是普通html片段还是iframe
如果是iframe就不需要放到b.jsp里
解答:
easyui的window并不是iframe形式的,所以你的a.jsp中的$(function(){...})是无法被执行的,你可以将其写在window的onLoad事件里
- //去掉a.jsp中的js代码,转移到b.jsp里
- $(function(){
- $('#win').window({
- width:600,
- height:400,
- href:'a.jsp',
- //写在onLoad事件里
- onLoad : function(){
- $('#cc').combogrid({
- panelWidth:450,
- value:'006',
- ......
-
- });
- }
- })
- });
复制代码
转自:http://bbs.ibeifeng.com/read-htm-tid-66070.html更多web前端开发问题:http://bbs.ibeifeng.com/thread-htm-fid-150.html
|
|