Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS相关组合框_Extjs_Coldfusion_Cfquery - Fatal编程技术网

ExtJS相关组合框

ExtJS相关组合框,extjs,coldfusion,cfquery,Extjs,Coldfusion,Cfquery,我是extJS新手,正在尝试实现以下功能: 我有两个选择下拉菜单,使用extJS转换。如何确保如果选择了一个组合框中的某个值,则应将另一个值设置回某个默认值 谢谢 编辑:代码至今: Ext.onReady(function(){ var converted = new Ext.form.ComboBox({ typeAhead: true, triggerAction: 'all', transform:'id_Select1', width:600

我是extJS新手,正在尝试实现以下功能:

我有两个选择下拉菜单,使用extJS转换。如何确保如果选择了一个组合框中的某个值,则应将另一个值设置回某个默认值

谢谢

编辑:代码至今:

Ext.onReady(function(){ 

var converted = new Ext.form.ComboBox({ 

    typeAhead: true, 
    triggerAction: 'all', 
    transform:'id_Select1', 
    width:600, 
    forceSelection:true, 
    emptyText:'Select' 

}); 

var convertedCdr = new Ext.form.ComboBox({ 
    typeAhead: true, 
    triggerAction: 'all', 
    transform:'id_select2', 
    width:600, 
    forceSelection:true, 
    emptyText:'Select' 
}); 
});
我正在使用ColdFusion查询数据库并填充下拉菜单:

<cfquery name="getData1" datasource="abc">
   SELECT * FROM table1
</cfquery>

<cfquery name="getData2" datasource="abc">
   SELECT * FROM table2
</cfquery>

<select name="select1" id="select1">
  <cfoutput query="getData1">
       <option value="#getData1.Id#">#getData1.name#</option>
  </cfoutput>
</select>

 <select name="select2" id="select1">
  <cfoutput query="getData2">
       <option value="#getData2.Id#">#getData2.name#</option>
  </cfoutput>
</select>
编辑-我没有使用CFM。。。您需要弄清楚如何使用数据存储加载CF以使用此技术

您需要为组合框上的select事件添加一个侦听器:

xtype: 'combo',
id   : 'firstComboID',
listeners: {
  select: function(combo,  record,  index ) {
    var selVal = Ext.getCmp('firstComboID').getValue();
    var secondCombo = Ext.getCmp('secondComboID');
    secondCombo.store.reload({params: {yourParameterName: selVal}});
}
基本上,您正在执行以下操作:

获取在第一个组合中选择的值 获取对第二个组合的数据存储的引用 使用从第一个组合框中选择的值重新加载第二个组合框的存储 编辑-我没有使用CFM。。。您需要弄清楚如何使用数据存储加载CF以使用此技术

您需要为组合框上的select事件添加一个侦听器:

xtype: 'combo',
id   : 'firstComboID',
listeners: {
  select: function(combo,  record,  index ) {
    var selVal = Ext.getCmp('firstComboID').getValue();
    var secondCombo = Ext.getCmp('secondComboID');
    secondCombo.store.reload({params: {yourParameterName: selVal}});
}
基本上,您正在执行以下操作:

获取在第一个组合中选择的值 获取对第二个组合的数据存储的引用 使用从第一个组合框中选择的值重新加载第二个组合框的存储
这是我到目前为止的代码'Ext.onReadyfunction{var converted=new Ext.form.ComboBox{typeAhead:true,triggerAction:'all',transform:'id_Select1',width:600,forceSelection:true,emptyText:'Select'};var convertedCdr=new Ext.form.ComboBox{typeAhead:true,triggerAction:'all',transform:'id_select2',width:600,forceSelection:true,emptyText:'Select'};};我从数据库中填充了两个选择下拉列表:不确定combo.store是否适用于我的情况?请使用所见即所得编辑器中的代码格式,使用源代码编辑您的问题,好吗?您的组合框从何处获取数据?我看不到任何配置选项。我需要查看您如何加载数据。。。在配置中使用transform时,DOM元素将自动转换为ArrayStore。你能编辑你的问题来显示布局和数据是如何加载的吗?我也用html代码更新了我的问题。我还有一个问题。在javascript中,我使用document.all.select1.value来获取元素的值。extJS中的等价物是什么?Ext.getCmp'fieldDomID'。value这是我到目前为止的代码'Ext.onReadyfunction{var converted=new Ext.form.ComboBox{typeAhead:true,triggerAction:'all',transform:'id_Select1',width:600,forceSelection:true,emptyText:'Select'};var convertedCdr=new Ext.form.ComboBox{typeAhead:true,triggerAction:'all',transform:'id_select2',width:600,forceSelection:true,emptyText:'Select'};};我从数据库中填充了两个选择下拉列表:不确定combo.store是否适用于我的情况?请使用所见即所得编辑器中的代码格式,使用源代码编辑您的问题,好吗?您的组合框从何处获取数据?我看不到任何配置选项。我需要查看您如何加载数据。。。在配置中使用transform时,DOM元素将自动转换为ArrayStore。你能编辑你的问题来显示布局和数据是如何加载的吗?我也用html代码更新了我的问题。我还有一个问题。在javascript中,我使用document.all.select1.value来获取元素的值。extJS中的等价物是什么?Ext.getCmp'fieldDomID'。value