Ext JS是一個(gè)用于創(chuàng)建富客戶端應(yīng)用程序的JavaScript框架,可以通過(guò)使用Ext中提供的組件輕松地構(gòu)建具有良好用戶界面的Web應(yīng)用程序。其中一個(gè)常用的組件是combox,用于提供一個(gè)可選擇的下拉列表。
combox可以使用JSON加載數(shù)據(jù),這樣可以將數(shù)據(jù)從服務(wù)端動(dòng)態(tài)獲取。通過(guò)使用Ext中提供的store和ajax類,可以輕松地獲取JSON數(shù)據(jù),再將其傳遞給combox進(jìn)行顯示。
//創(chuàng)建一個(gè)store var store = Ext.create('Ext.data.Store', { //使用AJAX獲取JSON數(shù)據(jù) proxy: { type: 'ajax', url: 'data.json', reader: { type: 'json', rootProperty: 'data' } }, //設(shè)置數(shù)據(jù)的模型 fields: ['id', 'name'] }); //創(chuàng)建一個(gè)combox var combo = Ext.create('Ext.form.field.ComboBox', { //將store設(shè)置為combox的數(shù)據(jù)源 store: store, queryMode: 'remote', displayField: 'name', valueField: 'id' });
在上面的代碼中,創(chuàng)建了一個(gè)store對(duì)象來(lái)獲取JSON數(shù)據(jù)。proxy屬性指定使用ajax獲取數(shù)據(jù),url屬性指定JSON數(shù)據(jù)的URL,reader屬性用于指定JSON數(shù)據(jù)的root節(jié)點(diǎn)和數(shù)據(jù)模型。接著,使用store在創(chuàng)建了一個(gè)combox組件,設(shè)置queryMode為remote表示使用遠(yuǎn)程查詢模式,displayField和valueField分別指定了在下拉列表中顯示和返回值。