0

私はextJSを初めて使用し、次の機能を実装しようとしています:

extJS を使用して変換された 2 つの選択ドロップダウン メニューがあります。1 つのコンボ ボックスの値が選択されている場合、他の値を既定値に戻すにはどうすればよいですか?

ありがとう。

編集:今までのコード:

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>
4

1 に答える 1

3

編集済み-私は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}});
}

基本的に、ここでは次のことを行っています。

  1. 最初のコンボで選択した値を取得します
  2. 2番目のコンボのデータストアへの参照を取得します
  3. 最初のコンボから選択した値を使用して、2番目のコンボボックスのストアをリロードします
于 2010-11-15T17:24:41.813 に答える