【问题标题】:Ext JS Dependent combo boxExt JS 依赖组合框
【发布时间】:2013-09-26 02:04:52
【问题描述】:

我是 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>

【问题讨论】:

    标签: extjs coldfusion cfquery


    【解决方案1】:

    已编辑 - 我没有使用 CFM...您需要弄清楚如何使用数据存储加载 CF 才能使用此技术。

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

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

    基本上你在这里做以下事情:

    1. 获取第一个组合中选择的值
    2. 获取对第二个组合数据存储的引用
    3. 使用第一个组合中的选定值重新加载第二个组合框的存储

    【讨论】:

    • 这是我到目前为止的代码', width:600, forceSelection:true, emptyText:'Select' } }); var convertCdr = 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
    猜你喜欢
    • 1970-01-01
    • 2018-03-20
    • 2018-09-14
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 2014-09-04
    • 1970-01-01
    相关资源
    最近更新 更多