本文目錄一覽:
- 1、ExtJS如何向服務器提交JSON數組
- 2、EXT的Store返回的數據集,如何轉換成JS數組對象?
- 3、怎樣將數組轉換為extjs中的fields csdn
- 4、Extjs 數組怎麼自定義,並且賦值
- 5、ExtJS怎麼才能傳送數組阿
ExtJS如何向服務器提交JSON數組
你在後台時 直接轉json 傳到前台 本來就是 下面的這種格式了
你需要加一個json包 然後直接把array數組轉為 json就可以了
EXT的Store返回的數據集,如何轉換成JS數組對象?
常規的ExtJS的Store,在new一個Store控件的時候,加上proxy屬性,指向URL,在URL里返回特定格式的JSON數據即可。
var store = new Ext.data.Store({
// 獲取數據的方式
proxy : new Ext.data.HttpProxy({
url : ‘cardSell.ered?reqCode=queryCrdSellList4CX’
}),
});
取出Store中的全部數據,再封裝成JSON格式,傳回後台。(extjs store中數據轉換成json)。
主要有以下兩種方法:
1、var jsonData = Ext.encode(Ext.pluck(store.data.items, ‘data’));
2、var datar = new Array();
var jsonDataEncode = “”;
var records = store.getRange();
for (var i = 0; i records.length; i++) {
datar.push(records[i].data);
}
jsonDataEncode = Ext.util.JSON.encode(datar);
怎樣將數組轉換為extjs中的fields csdn
執行以下代碼即可:
ction(){
//定義數據集對象
var bookStore = new Ext.data.Store({
autoLoad :true,
reader: new Ext.data.XmlReader({
totalRecords: “results”,
record: “Book”,
id: “id”
},
Ext.data.Record.create([
,
,
,
,
,
])
),
proxy : new Ext.data.HttpProxy({
url : ‘bookext.do?method=getBookList’
})
})
//創建工具欄組件
var toolbar = new Ext.Toolbar([
]);
//創建Grid表格組件
var cb = new Ext.grid.CheckboxSelectionModel()
var bookGrid = new Ext.grid.GridPanel({
applyTo : ‘grid-div’,
frame:true,
tbar : toolbar,
store: bookStore,
stripeRows : true,
autoScroll : true,
viewConfig : {
autoFill : true
},
sm : cb,
columns: [//配置表格列
new Ext.grid.RowNumberer({
header : ‘行號’,
width : 40
}),//表格行號組件
cb,
,
,
,
,
,
]
})
//創建新增書籍信息的form表單
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = ‘side’;//統一指定錯誤信息提示方式
var bookForm = new Ext.FormPanel({
labelSeparator : “:”,
frame:true,
border:false,
items : [
{
xtype:’textfield’,
width : 200,
allowBlank : false,
blankText : ‘書籍名稱不能為空’,
name : ‘bookName’,
fieldLabel:’書籍名稱’
},{
xtype:’textfield’,
width : 200,
allowBlank : false,
blankText : ‘書籍作者不能為空’,
name : ‘author’,
fieldLabel:’作者’
},{
xtype:’combo’,
width : 200,
allowBlank : false,
blankText : ‘必須選擇書籍類型’,
hiddenName : ‘bookTypeId’,
name : ‘typeName’,
store : new Ext.data.Store({
autoLoad :true,
reader: new Ext.data.XmlReader({
totalRecords: “results”,
record: “BookType”,
id: “id”
},
Ext.data.Record.create([
,
,
])
),
proxy : new Ext.data.HttpProxy({
url : ‘bookext.do?method=getBookTypeList’
})
}),//設置數據源
allQuery:’allbook’,//查詢全部信息的查詢字符串
triggerAction: ‘all’,//單擊觸發按鈕顯示全部數據
editable : false,//禁止編輯
loadingText : ‘正在加載書籍類型信息’,//加載數據時顯示的提示信息
displayField:’title’,//定義要顯示的字段
valueField : ‘id’,
emptyText :’請選擇書籍類型’,
mode: ‘remote’,//遠程模式
fieldLabel:’類型’
},{
xtype:’textfield’,
width : 200,
name : ‘price’,
fieldLabel:’金額’
},{
xtype:’textarea’,
width : 200,
name : ‘brief’,
fieldLabel:’簡介’
},{
xtype:’hidden’,
name : ‘id’
}
],
buttons:[
{
text : ‘關閉’,
handler : function(){
win.hide();
}
},{
text : ‘提交’,
handler : submitForm
}
]
});
//創建彈出窗口
var win = new Ext.Window({
layout:’fit’,
width:380,
closeAction:’hide’,
height:280,
resizable : false,
shadow : true,
modal :true,
closable:true,
bodyStyle:’padding:5 5 5 5′,
animCollapse:true,
items:[bookForm]
});
//顯示新建書籍窗口
function showAddBook(){
bookForm.form.reset();
bookForm.isAdd = true;
win.setTitle(“新增書籍信息”);
win.show();
}
//加載表單數據
function loadForm(bookId){
bookForm.form.load({
waitMsg : ‘正在加載數據請稍後’,//提示信息
waitTitle : ‘提示’,//標題
url : ‘bookext.do?method=getBookById’,//請求的url地址
params : ,
method:’GET’,//請求方式
success:function(form,action){//加載成功的處理函數
//Ext.Msg.alert(‘提示’,’數據加載成功’);
},
failure:function(form,action){//加載失敗的處理函數
Ext.Msg.alert(‘提示’,’數據加載失敗’);
}
});
}
//提交表單數據
function submitForm(){
//判斷當前執行的提交操作,isAdd為true表示執行書籍新增操作,false表示執行書籍修改操作
if(bookForm.isAdd){
//新增書籍信息
bookForm.form.submit({
clientValidation:true,//進行客戶端驗證
waitMsg : ‘正在提交數據請稍後’,//提示信息
waitTitle : ‘提示’,//標題
url : ‘bookext.do?method=addBook’,//請求的url地址
method:’POST’,//請求方式
success:function(form,action){//加載成功的處理函數
win.hide();
updateBookList(action.result.bookId);
Ext.Msg.alert(‘提示’,’新增書籍成功’);
},
failure:function(form,action){//加載失敗的處理函數
Ext.Msg.alert(‘提示’,’新增書籍失敗’);
}
});
}
}
//明細數據修改後,同步更新書籍列表信息
function updateBookList(bookId){
var fields = getFormFieldsObj(bookId);
var index = bookStore.find(‘id’,fields.id);
if(index != -1){
var item = bookStore.getAt(index);
for(var fieldName in fields){
item.set(fieldName,fields[fieldName]);
}
bookStore.commitChanges();
}else{
var rec = new Ext.data.Record(fields);
bookStore.add(rec);
}
Extjs 數組怎麼自定義,並且賦值
Extjs 數組定義使用Ext.Array內置函數。
extjs4.0 Ext.Array 函數方法大全:
Ext.onReady(function(){
var array = [‘1′,’2′,’3′,’4′,’1′,’6′,’7’];
Ext.Array.clean(array); //[‘1′,’2′,’3′,’4′,’6′,’7’];
Ext.Array.clone(array); // 克隆數組
Ext.Array.contains(array,’1′); //返回true 檢查數組內是否包含指定元素
var array2 = [‘1′,’2′,’3′,’4′,’5′,’6’];
Ext.Array.difference(array,array2); //返回 存在於 array中而不存在array2中的元素 [”,’7′]
Ext.Array.every(array,function(str,index,array){ //遍曆數組 第二個參數執行回調函數 (當前元素,當前索引,當前數組(array)) 指定作用域 返回false 立即返回
//alert(str);
return true;
});
Ext.Array.filter(array,function(str,index,array){ //遍曆數組 第二個參數執行回調函數 (當前元素,當前索引,當前數組(array)) 指定作用域 返回值: 返回true的元素組成新數組
//alert(str);
return true;
});
var array3 = [‘1′,’2′,’3′,’4’,[‘1′,’2′,’3′],’6′,’7’];
Ext.Array.flatten(array3); //返回值:將多維數組 平鋪成一維數組
Ext.Array.forEach(array,function(str,index,array){ //單純的遍曆數組
//alert(str);
});
Ext.Array.from(array,true); //轉換給定值為數組 如果為undefined 或 null 則返回空數組 本身為數組返回數組 可迭代返回數組拷貝 單值返回值包含該值的數組
Ext.Array.include(array,’100′); //向array末尾插入100 前提是array中不存在為100的值
Ext.Array.indexOf(array,’100′,0); //在數組內尋找指定值 第三個參數為起始位置 返回值:所在位置
alert(Ext.Array.intersect([array,array2])); //合併多個數組 數組元素唯一
Ext.Array.map(array,function(str,index,array){ //根據返回值組成數組
return str;
});
Ext.Array.max(array,function(s1,s2){ //返回數組中最大值 使用比較函數時返回值為負數時 小 0為相等 正數為大
return 0;
});
Ext.Array.mean([1,2,3,4,5]); //返回平均值
Ext.Array.min(array,function(s1,s2){ //返回數組中最小值 可使用比較函數
return 0;
});
var array4 = [{‘a1′:’a1’},{‘a1′:’a2’},{‘a3′:’a3’}];
Ext.Array.pluck(array4,’a1′); //在數組json數據中查找鍵為a1的值返回數組 (不改變數組大小)
Ext.Array.remove(array,’1′); //刪除數組中指定元素 注意:只刪除一項
Ext.Array.some(array,function(s1,s2){ //遍曆數組 返回true立即返回
return false;
});
var array5=[‘s’,’a’,’z’,’c’];
Ext.Array.sort(array5); //排序數組 默認以字符排序 可選排序函數
var array6=[1,2,3,4,5];
Ext.Array.sum(array6); //求和
Ext.Array.toArray(array6,2,4); //轉換任何可迭代的值為數組 參數 1 iterable 2 start 3 end
Ext.Array.merge(array,array6); //組合數組
Ext.Array.unique(array,array6); //組合數組 merge的別名
Ext.Array.unique(array); //獲取具有唯一元素的新數組
})
ExtJS怎麼才能傳送數組阿
可以使用數組的indexOf()方法,如果返回值為-1則說明不存在,如果返回值為大於-1的整數,則說明存在。例如:vararr=[1,2,3];arr.indexOf(1);//返回0arr.indexOf(5);//返回-1附:返回值為數組中的最靠前元素在數組的位置
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/155047.html