0
我有一個包含2個comobox字段的表單,它們是鏈接的combox字段。Extjs 4在表單加載事件中設置了combox值
章節和吸取
當用戶選擇一個章節,在該章課程列表將被顯示。
如何根據EXTjs中的組合章節篩選組合課程4.如果選擇了章節組合,則只有組合課程應顯示課程,否則應爲空。
以及如何設置表單數據從服務器加載並填充到表單域時選擇的cmobo值。
章存儲
var chapter_store = Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ['chapter_id', 'chapter_name'],
proxy: {
type: 'ajax',
url: BASE_URL + 'courses/chapters/getChaptersCombo/' + course_id,
actionMethods: {
read: 'POST'
},
noCache: false,
reader: {
type: 'json',
root: 'results',
totalProperty: 'total'
}
},
storeId: 'chapter_id'
});
教訓店
var lesson_store = Ext.create('Ext.data.Store', {
autoLoad: true,
fields: ['lesson_id',
//'chapter_name',
'lesson_name', 'lc_relation_id'
],
proxy: {
type: 'ajax',
url: BASE_URL + 'courses/lessons/getLessonsCombo/' + course_id,
actionMethods: {
read: 'POST'
},
noCache: false,
reader: {
type: 'json',
root: 'results',
totalProperty: 'total'
}
},
storeId: 'lesson_id'
});
形式鏈接連擊
var quiz_form = Ext.create('Ext.form.Panel', {
items: [{
xtype: 'combobox',
//readOnly:true,
id: 'test_chapter_combo',
name: 'test_chapter_combo',
//hiddenName: 'test_linkchapter_val',
displayField: 'chapter_name',
valueField: 'chapter_id',
fieldLabel: 'Select Chapter',
allowBlank: false,
blankText: 'Chapter is required',
triggerAction: 'all',
queryMode: 'remote',
store: chapter_store,
selectOnFocus: true,
listeners: {
select: {
fn: function (combo, value) {
var comboLesson = Ext.getCmp('test_lesson_combo');
comboLesson.clearValue();
lesson_store.load({
params: {
chapters_id: combo.getValue()
}
});
}
}
}
}, {
xtype: 'combobox',
//readOnly:true,
id: 'test_lesson_combo',
name: 'test_lesson_combo',
//hiddenName: 'test_linklesson_val',
displayField: 'lesson_name',
valueField: 'lc_relation_id',
mode: 'local',
fieldLabel: 'Link To Lesson',
allowBlank: false,
blankText: 'Lesson is required',
triggerAction: 'all',
store: edu_lesson_store,
queryMode: 'remote'
}]
});
裝載形式從服務器數據
quiz_form.getForm().load({
url: BASE_URL + 'courses/getCourseTest/' + quiz_id,
method: 'POST'
});
我使用PHP-codeigniter作爲服務器端技術。現在過濾工作正常。當我從服務器加載表單數據(比如說已經保存的表單的編輯模式)並使用遠程存儲時,如何設置組合框中的值。如果爲combox使用陣列數據存儲,則在從服務器加載表單數據時,會自動將值選擇到combox中。 – nani1216 2012-02-16 12:11:29
嘗試將組合配置中的name屬性設置爲「chapter_id」,然後使用嘗試使用form.loadRecord(model_record),表單將綁定模型記錄中的值到名稱=「model_field_name」的表單字段,更多loadRecord()這裏的信息http://docs.sencha.com/ext-js/4-0/#!/api/Ext.form.Panel-method-loadRecord – 2012-02-16 12:50:24