在combobox和textfield之间动态切换extjs4
我在网站上有一个复选框和一个组合框。选中该复选框后,我想将combobox更改为textfield,当然要保留所有选定值并将其放入textfield。当复选框被取消选中时,我想返回显示combobox和它以前选择的值 你知道如何在ExtJS4中实现这一点吗在combobox和textfield之间动态切换extjs4,extjs,extjs4,Extjs,Extjs4,我在网站上有一个复选框和一个组合框。选中该复选框后,我想将combobox更改为textfield,当然要保留所有选定值并将其放入textfield。当复选框被取消选中时,我想返回显示combobox和它以前选择的值 你知道如何在ExtJS4中实现这一点吗 谢谢首先,您的控制器中有一个侦听器,当选中复选框时,该侦听器将运行。在该函数中,您应该能够从组合框中提取值,将其存储在临时变量中,创建或可能取消隐藏文本字段,并将临时变量值放入其中 然后为取消选中的侦听器操作编写相反的代码 你在MVC工作吗
谢谢首先,您的控制器中有一个侦听器,当选中复选框时,该侦听器将运行。在该函数中,您应该能够从组合框中提取值,将其存储在临时变量中,创建或可能取消隐藏文本字段,并将临时变量值放入其中 然后为取消选中的侦听器操作编写相反的代码 你在MVC工作吗
希望这有帮助我们已经实施了类似的方法
在容器中放置一个组合框,并向其中添加一个文本字段。将侦听器添加到复选框,并在处理程序中使用combobox.hide和textfield.show。您无法更改字段类型,因此只需使用两个字段并隐藏不相关的字段即可。聆听复选框上的更改事件,并进行适当的交换。
Ext.define('MyComboBox',{
extend:'Ext.form.field.ComboBox',
initComponent:function() {
this.originalForceSelection = this.forceSelection;
this.callParent(arguments);
if(this.textFieldMode) this.setTextfieldMode(true);
},
function setTextfieldMode(bool)
{
if(bool) {
this.forceSelection=false;
this.setHideTrigger(true);
} else {
this.setHideTrigger(false);
this.forceSelection=this.originalForceSelection;
}
}
});