jQuery MiniUI

标题: 如何在主页面获取tab当前显示页面中的grid对象? [打印本页]

作者: johnconner    时间: 2012-12-27 14:05:24     标题: 如何在主页面获取tab当前显示页面中的grid对象?

想在用户点击关闭某一选项卡时判断当前选项卡内显示页面中的grid是否有修改未保存情况,用来提示用户
知道在mini-Tabs的onbeforeCloseClick事件中处理,但是不知道如何能获得当前tab页面中的grid?

作者: factory    时间: 2012-12-27 14:38:49

var iframeEl = tabs.getTabIFrameEl(tab);
var grid =  iframeEl.mini.get(id);
作者: johnconner    时间: 2012-12-27 15:29:11

factory 发表于 2012-12-27 14:38
var iframeEl = tabs.getTabIFrameEl(tab);
var grid =  iframeEl.mini.get(id);

tabs.getTabIFrameEl(tab);
括号内的tab应该写当前获取焦点的tab的name?我该如何获得它?
作者: factory    时间: 2012-12-27 15:36:40

johnconner 发表于 2012-12-27 15:29
tabs.getTabIFrameEl(tab);
括号内的tab应该写当前获取焦点的tab的name?我该如何获得它? ...

是你关闭的tab选项卡对象,onbeforecloseclick="beforecloseclick"
function beforecloseclick(e){
  var tab = e.tab;
   tabs.getTabIFrameEl(tab);
}

也可以通过tabs.getTab(name/index)来获取到tab对象
作者: johnconner    时间: 2012-12-27 15:56:15

factory 发表于 2012-12-27 15:36
是你关闭的tab选项卡对象,onbeforecloseclick="beforecloseclick"
function beforecloseclick(e){
  var ...

  1. function closeTab(e){
  2.             var tab = e.tab;
  3.             var iframeEl = tabs.getTabIFrameEl(tab);
  4.             var grid =  iframeEl.mini.get("datagrid1");
  5.             var data = grid.getChanges();alert(data.length);            
  6.             if(data.length>0){
  7.                 if(confirm("数据未保存将丢失,继续此操作?"))
  8.                     e.ok = true;
  9.                 else
  10.                     e.cancel = true;               
  11.             }
  12.         }
复制代码
老大,代码是这样写的,在alert的时候并没有获得grid中改动数据的数量,逐条alert时,var grid =  iframeEl.mini.get("datagrid1");
并没获得grid,是哪的错误?
作者: factory    时间: 2012-12-27 16:35:15

johnconner 发表于 2012-12-27 15:56
老大,代码是这样写的,在alert的时候并没有获得grid中改动数据的数量,逐条alert时,var grid =  iframe ...

写错了。。。
var grid =  iframeEl.contentWindow.mini.get("datagrid1");
应该是这样
作者: johnconner    时间: 2012-12-27 16:47:05

factory 发表于 2012-12-27 16:35
写错了。。。
var grid =  iframeEl.contentWindow.mini.get("datagrid1");
应该是这样

呵呵,OK了,弹出了询问窗口,但是点击取消,tab还是关闭了,也就是说
  1. if(confirm("数据未保存将丢失,继续此操作?"))
  2.                     e.ok = true;
  3.                 else
  4.                     e.cancel = true;
复制代码
e.ok和e.cancel都没起作用,如何让tab关闭动作终止?
作者: factory    时间: 2012-12-27 17:04:29

johnconner 发表于 2012-12-27 16:47
呵呵,OK了,弹出了询问窗口,但是点击取消,tab还是关闭了,也就是说e.ok和e.cancel都没起作用,如何让t ...

嗯,发现了,问题已经处理掉了,你下载更新下
作者: johnconner    时间: 2012-12-28 09:15:00

factory 发表于 2012-12-27 17:04
嗯,发现了,问题已经处理掉了,你下载更新下

好了,更新后正常了。




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2