2012-02-17 7 views
1

私はExtjs4を使用しています。フォームロード時にコンボボックスの表示フィールドと値フィールドを設定しました。 setValue()は、フォームのロード時にcomboxのために働いていません。私はコードを使用しています私のコードで何が間違っているか教えてください。Extjs4コンボボックス設定値フィールドとディスプレイファイルID

quiz_edit_form.load({ 
    url: BASE_URL + 'courses/testing/getCourseTest/' + quiz_id, 
    method: 'POST', 
    success: function(form, action){ 
      var chap_name = action.result.data.test_chapter_combo; 
      var less_name = action.result.data.test_lesson_combo; 
      Ext.getCmp('test_chapter_combo1').setValue(chap_name); 
      Ext.getCmp('test_lesson_combo1').setValue(less_name); 
      } 
}); 

私は最近、コンボと同様の問題を持っていたおかげで

答えて

1

。コンボのforceselection属性がfalseに設定されていることを確認するか、ストアに含まれていない値を設定することはできません。ユーザーがトリガーをクリックするまでストアはロードされません。ユーザーにコンボからオプションを選択させる必要がある場合は、forceselection: false、次にsetValuesetRawValue、次にforceselection: trueと設定します。

希望に役立ちます。

+0

あなたの助けてくれてありがとう、Amalea、しかしそれはうまくいきません。 – siva565

+0

間違っていますか? – Amalea

+0

いいえこれは私のコンボボックスのコード{ XTYPEです: 'コンボボックス'、ID: 'test_chapter_combo1'、 // hiddenName: 'test_linkchapter_val'、 displayField 'chapter_name'、 valueField: 'chapter_id'、 のfieldLabel:「を選択章 ' allowBlank:偽、 blankText: 'の章を必要とする'、 triggerAction: 'すべて'、 queryMode: 'リモート'、 店舗:chapter_store、 アンカー:'60%'、 selectOnFocus:真 } – siva565

0

設定しようとしている値は、コンボにバインドされているストアに存在する必要があります。ストア内の値を取得するには、オートロードするか、あらかじめロードする必要があります。つまり、ストアのロードが非同期であることを忘れないでください。

+0

'forceselection'が' false'に設定されている場合はそうではありません。 – Amalea

関連する問題