3

このサンプルに従って、テキスト フィールドにアタッチされたサジェスト コントロールを作成します。

webix.ui({
  view: "suggest",
  input: $$("testText"),
  body:{
    dataFeed:"/data.php"
  }
});

プロパティはdatafeedリクエストをサーバーに送信し、フィルタリングされたデータを返します。リクエストは

"data.php?filter[value]=Ar"  // where 'Ar' is a typed text

しかし、リクエストを送信するために入力されるシンボルの最小数を制限する必要がある場合はどうすればよいでしょうか? たとえば、3 文字以上入力したときにデータをリロードしたい。

それは可能ですか、それとも独自のメソッドを書く必要がありますか? どうやってするか?

ヒントをお寄せいただきありがとうございます。

4

1 に答える 1

1

これは些細なことではないようです。webix フォーラムでこの解決策を見つけました。

body:{
    dataFeed: function(filtervalue){
        if(filtervalue.length<3) return;
        var urldata = "filter[value]="+encodeURIComponent(filtervalue);
        this.load("http://docs.webix.com/samples/13_form/01_controls/server/data.php?"+urldata, this.config.datatype);
    }
}

デモ スニペット: http://webix.com/snippet/4019c87a

于 2016-12-15T08:09:55.273 に答える