⑴ 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 了一個?
是不是第三次、第四次 窗體就累加了?