質問

私は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>
役に立ちましたか?

解決

編集 - 私は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. 2番目のコンボのデータストアへの参照を取得する
  3. 最初のコンボから選択した値を使用して、2番目のコンボボックスのストアをリロードします
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top