2011-11-27 13 views
13

アイテムを選択したときに#input-myBoxがクリアされないのはなぜですか?自動補完機能が私の.val('')の動作を妨げているようですが、どうすればこれを回避できますか?オートコンプリート(jQuery UI)のselectイベントでテキストボックスの値を変更する方法

$("#input-myBox").autocomplete({ 
    source: response, 
    minLength: 1, 
    select: function(event, ui) { 
       var selectedObj = ui.item; 
       $("#input-myBox").appendTo(".foo"); 
       $("#input-myBox").val(''); 
    } 
}); 
+1

'#入力-mybox'は、あなたの質問(おそらく答えを)と一致するように、#入力-myBox''でなければなりません。 –

答えて

37

event.preventDefault()フィールドのオートコンプリート設定を停止します。

select: function (event, ui) { 
    event.preventDefault(); 
    var selectedObj = ui.item; 
    $("#input-myBox").appendTo(".foo"); 
    $("#input-myBox").val(''); 
} 
+0

ありがとう、たくさん助けて! :) –

1

それは、#input-mybox(小文字のb)または#input-myBox(大文字b)のですか?

これはあなたの問題:)

編集かもしれません:ロブは、あなたのコードと矛盾がある

0

それを私にビート:

$("#input-mybox").appendTo(".foo"); 
$("#input-myBox").val(''); 

"#入力-myBox" || "#input-mybox" ???

7

また、 'return false;'を使用することもできます。フィールドのオートコンプリート設定を停止します。あなただけの何か他のもののために選択した値を代入したい場合

select: function (event, ui) { 
    var selectedObj = ui.item;   
    $("#input-myBox").appendTo(".foo"); 
    $("#input-myBox").val(''); 
    return false; 
} 
1

は:

select: function(event, ui) { 
    ui.item.value = substituteWord(ui.item.value); 
} 
関連する問題