解决方案 »
- ASP.NET空间图片上传问题(用javascript),求高手帮助
- js的小问题
- 在ASP中想通过javacript 弹出一个层 ,输入值后将值返回主窗口
- 请教一个FCK的问题
- 灵活的显示div层:根据当前位置onmouseover时向上、向下或向左向右显示
- 大家看一下这个网站现在用的是什么技术
- 如何使页面链接href文字变色??
- window.close()在IE6上无提示,在IE5上有提示?
- 运行javascript的程序对ie的版本有要求马?
- javascrip访问本地数据库老是弹出对话框,请问怎么去掉?
- jquery.cache是把数据缓存在哪了? 浏览器缓存文件夹or内存?
- 在DW中HTML中加入JS,显示不出JS中要表达的特效?
父页面不能取到子页面的datagrid是因为easyui是用$.data(elements,'datagrid','datagrid的相关数据组装的对象')来缓存datagrid的。 这个值被保存在$.cache里。 而cache值在当前页面有效,弹出页是另一个cache,所以父页面的cache里没有这个datagrid属性,自然取不到。可是为什么cache只在当前页面有效,还没弄清。
最后是优化成了一个公用js函数function datagrid(gridName,method)
{
return $("#"+gridName).datagrid('method');
}调用时直接,var rows = $.find('iframe').get(0).contentWindow.datagrid(gridName,'getSelections')就行了。
{
return $("#"+gridName).datagrid(method);
}
额,直接取是取不到的,datagrid里封装的是Jquery的$.data(selector,key,value) .在父页面调用datagrid,只能取到父页面里$.cache里保存的值。父页面与子页面各自维护着一个$.cache(只是亲测结果是如此,原因不详)。 所以只能在父页面里调用子页面的Js函数,然后子页面里调用datagrid才行。