extjsでカスケードコンボボックスをやりたいです。コンボボックスを作成する必要があります
コースコンボボックス
{
xtype : 'combobox',
emptyText : 'Course',
id:'combo-course',
displayField : 'name',
valueField : 'id',
store:coursestore,
forceSelection: true,
triggerAction:'all',
queryMode: 'remote',
listeners: {
'select': {
fn:function(combo, value) {
var comboModule = Ext.getCmp('combo-module');
comboModule .setDisabled(true);
comboModule .clearValue('');
comboModule .getStore().removeAll();
comboModule .getStore().load({
params: {courseId: combo.getValue()}
});
comboModule .setDisabled(false);
}
}
}
}
コースモジュール:
{
xtype : 'combobox',
emptyText : 'Module',
id:'combo-module',
displayField : 'name',
valueField : 'id',
disabled:true,
remoteFilter:true,
store:coursemodulestore,
forceSelection: true,
queryMode: 'remote',
triggerAction:'all'
}
レストサービス
@Path("/coursemodule/{courseId}")
public List<CourseModule> getAllCourseModules(@PathParam("courseId")String courseId ) {
try {
return courseObj.getModulesForCourse(courseId);
} catch (HibernateException e) {
logger.debug(e.getMessage());
}
return null;
}
アプリケーションを実行して最初のコンボボックスを選択すると、2 番目のコンボボックスに正しい値が最初にのみ表示されます。
しかし、コンボボックスを2回目に選択すると、2番目のコンボボックスに値が表示されません。