我在网站上有一个复选框,还有一个组合框。选中该复选框后,我想将组合框更改为文本字段(当然可以保存任何选定的值并将其放在文本字段中)。当取消选中该复选框时,我想返回显示组合框(并且它是之前选择的值)。
知道如何在ExtJS4中实现这一点吗?
谢谢
答案 0 :(得分:0)
嗯,你首先要在你的控制器中有一个监听器,它将在选中复选框时运行。在该函数中,您应该能够从组合框中提取值,将其存储在临时变量中,创建(或可能取消隐藏)文本字段,并将临时变量值放在那里。
然后为取消选中侦听器操作编写相反的内容
你在MVC工作吗?
希望有所帮助
答案 1 :(得分:0)
我们实施了类似的方法。
将一个组合框放入容器中并向其中添加一个文本字段。将侦听器添加到复选框,并在处理程序中使用combobox.hide()
和textfield.show()
。
答案 2 :(得分:0)
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;
}
}
});