⑴ extjs怎么自定义函数
转:
Ext JS自定义函数,令人崩溃的语法~
项目中有一段一直没看懂,貌似是关于Ext JS中自定义函数的:
Ext.ux.MessageBox = function() {
var msgCt;
function createBox(t, s, data, i) {
…………
}
return {
…………
};
}();
函数(createBox)之后,没有逗号,也没有分号,直接来了个return……。我一下子就晕了。手头能找到的两本书中都没有相应语法的介绍。今天偶然看到某高人的文章,顿时豁然开朗。最后大括号后面又来一对儿括号,这部分还是没有搞明白,以后再来研究吧~转载如下供查阅:
EXTJS的自定义函数,以下语句可创建一个函数:
Ext.Login=function(){
function IsLogin(){
……
}
return{
init:function(){
IsLogin();
},
Login:function(){
……
}
}
刚开始时让我比较郁闷的是这种JS里的函数调用机制,以上代码里,将创建一个名为Ext.Login()的对象,应该相当于一个类的意思吧,然后可在其里面写其他相关的方法。
在return里的为公有方法,这里面的方法可给外部程序调用(如在HTML文件里用),而在return以外的代码是其私有方法,只能在Ext.Login()这个对象里调用
如需要在其他页面调用里面的Login()方法,可直接写
<input id="login" onclick="Ext.Login().Login()" />
如果需要在页面加载时就调用,一般只需直接用EXTJS里的方法即可实现:
Ext.onReady(Ext.Login.init, Ext.Login);
这里的函数名并不需要加括号,第一个参数是要调用的方法,第二个是作用域,一般写此对象名即可。
⑵ 怎么在extjs中表格中加超链接并且传值
可以再后抄面再添加一列,给袭这一列添加renderer参数,写一个函数,返回一个链接信息即可。
例:
renderer: changeSelectStatus
function changeSelectStatus(value, cellmeta, record, rowIndex, columnIndex, store) { /
return '<span onclick="openEditPage()"><a href="#">详情 </a></span>' }
⑶ extjs页面之间传参数 点击文本框弹出windows窗体,搜索想要的数据 之后赋给文本框
你这个单独的窗口是只一个单独的web页面还是一个extjs的window对象
如果是extjs的window, 你可以提供一个回调函回数给这个答window,让它在需要的时候调用
如:
funciont a(...){ console.log(arguments); }
Ext.create('Ext.window.Window', {
...
func: a,
listeners: {
destory: function(w){
if (w.func) w.func(...);
}
}
}).show();
⑷ ExtJs 怎样给GridPanel 表格中的按钮 添加点击事件
可以通过Ext.get("btnName").on("click",add); 来添加点击事件,其中的add 就是你定义的btn的触发方法。
⑸ Extjs grid输入参数搜索功能
buttons:[{
text:'查询',
handler:function(){
varc=Ext.getCmp('servicegrid');
varform=this.up('form').getForm();
c.getStore().on('beforeload',function(store,options){
varnew_params=form.getFieldValues();
Ext.apply(this.proxy.extraParams,new_params);
});
c.getStore().currentPage=1;
c.getStore().reload({
page:1,
params:this.up('form').getForm().getFieldValues()
});
}
},{
text:'重置',
handler:function(){
this.up('form').getForm().reset();
varc=Ext.getCmp('servicegrid');
//this.up('form').getForm().reset();
c.getStore().load({page:1});
}
}]
在后台接受相应的残数据可以了;
⑹ Extjs弹出个窗体,关闭,再点击就出现了两个窗体,怎样关闭再打开只有一个窗体onclick=function(){}
是不是点击打开的时候都每次都 NEW 了一个?
是不是第三次、第四次 窗体就累加了?