11

次のhttp://jsfiddle.net/TgBzB/3/があり、ユーザーがアイテムを選択したときにオートコンプリート フィールドをクリアしたいと考えています。次のコードはこれを行いません:-

$("#input").data("kendoAutoComplete").value("");

これは可能ですか?

//create AutoComplete UI component
$("#input").kendoAutoComplete({
    dataSource: data,
    filter: "startswith",
    placeholder: "Select country...",
    select: function(e) {
        var dataItem = this.dataItem(e.item.index());
        $('#list').append("<li>" + dataItem + "</li>");
        //How do I clear the #input here?
        $("#input").data("kendoAutoComplete").value(""); 
    }
});
4

5 に答える 5

14

コードは入力をクリアしますが、選択イベントが早期に発生し、値が後で追加されます。あなたがしなければならないことは、changeイベントで入力をクリアすることです:

$("#input").kendoAutoComplete({
    dataSource: data,
    filter: "startswith",
    placeholder: "Select country...",
    select: function(e) {
        var dataItem = this.dataItem(e.item.index());
        $('#list').append("<li>" + dataItem + "</li>");
    },
    change: function(e) {
        $("#input").data("kendoAutoComplete").value(""); 
    }
}); 
于 2012-11-27T13:50:50.697 に答える
4

これは、変更イベントの後にクリアする代わりに、最初の場所に表示されないようにする代わりに、同様に機能する別の代替手段でもあります。e.preventDefault();

...
select: function(e) {
        var dataItem = this.dataItem(e.item.index());
        $('#list').append("<li>" + dataItem + "</li>");
        $("#input").data("kendoAutoComplete").value("");
        e.preventDefault();
}
...

jsFiddle http://jsfiddle.net/rippo/TgBzB/8/を更新しました

于 2013-04-25T12:06:22.480 に答える
0
select: function(e) {

.... e.preventDefault();

}

同じキーワードを検索することはできません (すぐに入力してください)。数ミリ秒の時間を与えて、同じキーワードを文字ごとに入力すると機能します。

于 2016-06-10T11:51:39.880 に答える
-3

これを使用するだけで、オートコンプリートをクリアできます

       $("#autoCompleteName").val("");
于 2013-10-07T09:44:08.137 に答える