找了很久的答案还是没解决,求救大侠!假如有一个主页面main.jsp,其中有一个iframe控件,src属性包含text.jsp。text.jsp页面中有一个用table id="mydatagrid" 经过easyui处理生成的datagrid数据表格问:
     在main.jsp中用easyui弹出一个对话框 输入一点信息用AJAX提交数据之后刷新text.jsp中的datagrid ( 这里简单一点可以只点击一下不需要输入数据)各位大侠帮帮忙啊!!!!

解决方案 »

  1.   

    不管用的什么插件,都是JS对象.ajax提交数据,后台刷新,然后AJAX成功返回的方法里面 刷新 iframe 里面 的对象打个BUDEGGER
    看看this.frames对象里面的内容是什么。找到你那个text.jsp的frame.
    this.frames.document
    这种情况是你这个页面只有一个iframe的情况,那么那个document就应该是你子级页面的document了,
    通过JS document.getElementById("id")的方法获取对象,再根据你插件刷新或者重新加载数据的方法刷新数据.
    esayui没研究过.人家肯定有api提供刷新表格方法.
      

  2.   

    是有提供的api,但是在父级页面貌似调用不了,报
                   $.data(jq[0], "datagrid") is undefined
    这样的错误,可能是没有引入相应的js文件。采用在自己页面定义一个JS函数方法,用easyui的方式刷datagrid在用frame的window对象调用那个JS函数。我没有用document对象不过想想应该是可能的,在等一会,明天这个时候结贴
      

  3.   

    $.data(jq[0], "datagrid") is undefined你的JQ[0]的对象是否在你这个页面存在呢?假如你表格在子级,你在父级调用这句话,答案肯定是找不到对象的。换个说法,假如你要对这个表格做操作,那么要找到这个对象就只能通过子级别的对象去找。但是对于框架级的东西,有些可以通过引用方式去访问,例如 top 页面中 加入 top.MyArray 对象子级通过 top.MyArray 这个对象去生成数据然后不管你在哪里对这个对象进行修改。然后重新刷新子级都可以重新生成数据了,这也是一种控制的方式
      

  4.   

    感觉没有看懂,我采用的是这样的语句:$('#iFrame2').contents().find('#developerToolsDialog').datagrid('load')
    报那个错误,$('#iFrame2').contents().find('#developerToolsDialog')还能找到那个table元素,但是采用右面easyui的方法之后就报错