日期:2014-05-16  浏览次数:20500 次

Ext新手,在js中如何得到Ext tabpanel对象控件
问题描述:  在一个test.jsp 页面中套用Ext 的tabPanel,并设置2个tab页,分别引用两个Struts action.(test1.jsp,test2.jsp),问题是出在test2.jsp中的按钮的js控制上.
          在第2个测试页中有一个button,有相关此button的一个控制js调用,功能是刷新第2个tab页.我在test.jsp中写了一小段js(直接写在test2.jsp中调用不到),想实现刷新,但是总也得不到tabpanel当前的这个对象,更得不到tabitem了,请教高手如何实现.

代码:
    tab.js

var TabsExample = {
var tab=Ext.tab;
    init : function(){
      
        // second tabs built from JS
        var jtabs = new Ext.TabPanel('jtabs');
        var tab1=jtabs.addTab('jtabs-1', "测试页1");
    tab1.setUrl('test1.do?method=edit', null, true);

        var tab2 = jtabs.addTab('jtabs-2', "测试页2");
        var updater = tab2.getUpdateManager();
        updater.setDefaultUrl('test2.do?method=list');
        tab2.on('activate', updater.refresh, updater, true);

        jtabs.activate('jtabs-1');
    }
}
Ext.EventManager.onDocumentReady(TabsExample.init, TabsExample , true);


我写的js调用失败.
<script type="text/javascript">
function refresh(){
    Ext.TabPanel('jtabs').getTab('tabs1-2').refresh;
}
</script>

<table cellpadding="0" cellspacing="0" width="100%" height="80%" border="0">
<tr><td valign="top">
<div id="jtabs" class="xp" style="width:100%" >
</div>
</td></tr>
</table>
</body>