下面时frameset的代码
<frameset rows="50px,*" rameborder="no" border="1" framespacing="0"> <!--头部--> <frame src="ftop.jsp" name="topframe" scrolling="no" noresize="noresize" frameborder="1" /> <!--主体部分--> <frameset cols="230px,*"> <!--主体左边--> <frame src="fleft.jsp" name="leftframe" scrolling="no" noresize="noresize" frameborder="1"/> <!--主体右边--> <frame src="fright.jsp" name="rightframe" scrolling="yes" noresize="noresize" frameborder="1"/> </frameset> </frameset>
现在需要再左边fleft.jsp的内容上双击一个easyUI的树tree结构点node的时候,右边的frame能够被触发其中的JS函数(fright.jsp中的js函数loadData())
下面时left.jsp的html+js代码
<!-- 数据从tree_data3.json中获取 --> <div style="border:1px solid grey;width:188px;height: 450px"> <ul id="tt5" class="easyui-tree" url="tree_data3.json"> </ul> </div>
$(function(){ $(".easyui-tree").tree({ onDblClick: function (e) { alert("我是"+e.text+"你点了我"); $(parent.frames["rightframe"].document).find("#ggg").html("222"); } }); })
下面时fright.jsp的代码:
$(function(){ //我这里是创建了一个datagrid但是没有数据,我是想双击左边的tree内容时, //这个表格数据才被加载 $("#tb1").datagrid({title:'title',idField:'ck', columns:[[...]],}); //写在了Jquery事件里面了 function loadData(){ //加载表格数据内容 $("#tb1").datagrid({url:"fright_model.json"}); } })
<table id="tb1"></table>
试了好多种方法都不行,,大神救救命,或则提供其他思路也行
解决了:在left.jsp中的OnDbClick:function(e){}改成
onDblClick: function (e) { alert("我是"+e.text+"你点了我"); if(e.text == "0309模板"){ window.parent.frames["rightframe"].window.loadData(); }else if(e.text == "我的模板2"){ window.parent.frames["rightframe"].window.loadData2(); } }
就可以调用fright.jsp的loadData方法和loadData2方法了加载不同数据了
参考QQ邮箱
什么意思?
@YAN_HUAXIANGMO: 参考这个吧 http://www.miniui.com/demo/#src=datagrid/celledit.html
$(parent.frames["rightframe"].document).find("#ggg").html("222");
》》》
$(window.top.frames["rightframe"].document).find("#ggg").html("222");