0

ライブ検索コンボを実装しようとしています。次のように動作するとします: コンボ フィールドに文字を入力すると、現在の値が読み取られ、それがパラメーターとしてストアの URL に送信されます。バックエンドでは、パラメーターを使用して、それを含むデータベースから任意の値を返すため、コンボの背後にあるストアにはフィルター処理された値のみが入力されます。コンボに文字を入力し続けると、パラメーターが更新されてバックエンドなどに再度送信され、このようにストアがますます小さくなります。コンボのイベントキープレス、さらにはキーアップを使用してこの動作を実現しようとしましたが、コンボフィールドから現在の値にアクセスできないという問題があります。たとえば、「for」文字列をコンボに入力すると、コンボ オブジェクトを使用してこの値を取得するにはどうすればよいですか? omboName.getValue() は機能しません。何も返されません。

http://docs.sencha.com/extjs/4.2.2/#!/example/form/forum-search.htmlでライブ コンボの例を既に見ましたが、まったく役に立ちません。

だから私の大きな質問は、コンボのフィールドを編集しながら現在の値を取得するにはどうすればよいですか?

どんな助けでも感謝します、ありがとう。

4

2 に答える 2

0

あなたは使用できるはずです

comboName.getValue();

また

comboName.getRawValue();

ここで、comboName はコンボ ボックスです。どちらも機能していません-あなたの投稿で、getValues()これは不適切な方法であると述べています。コンボ ボックス オブジェクトを参照しているときに、その参照が実際に正しいかどうかを確認することもできます。キーイベントからの最初の引数は、実際にはオブジェクト自体であるため、次のことができるはずです。

listeners:{
  keyup:function(comboBox){
      var value = comboBox.getValue() || comboBox.getRawValue();
      console.log(value);
  }
}

必要に応じて、値の取得方法を交換します。

于 2013-10-30T13:36:58.017 に答える