gpt4 book ai didi

javascript - extjs 中的级联组合框

转载 作者:行者123 更新时间:2023-11-28 02:37:46 24 4
gpt4 key购买 nike

我想在 extjs 中做级联组合框。我必须组合框

类(class)组合框

{ 
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);
}
}
}
}

类(class)模块:

{
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;
}

当我运行应用程序并选择第一个组合框时,它仅在第一次时在第二个组合框中显示正确的值;
但是当我第二次选择组合框时,它没有在第二个组合框中显示值。

最佳答案

您似乎想要清除已应用的过滤器。要删除已应用的过滤器,商店中有一个clearFilter()方法可用。您可以将其混合到您的代码中,如下所示:

comboModule.clearValue();  
// new line to clear any filter applied to the store
comboModule.getStore().clearFilter(true);
comboModule.getStore().filter('courseId',combo.getValue());

关于javascript - extjs 中的级联组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13193361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com