10

オブジェクトの値にアクセスしようとしています:

<input type="text" name="address-search" 
       placeholder="43 Roxling Drive Boston, MA" 
       class="ui-autocomplete-input ui-corner-all" autocomplete="off">

select: function( event, ui ) {
    console.log(ui);
    $('input[name="address-search"]').val(ui.item.label);
}

console.log呼び出しの結果は次のとおりです。

ここに画像の説明を入力してください

ここに奇妙なビットがあります:

console.log(ui.item.label)が得た場合:Boston, Massachusetts, United States

私が電話した場合、私$('input[name="address-search"]').val(ui.item.label);は得るだけですBoston。なぜこれが起こっているのか考えはありますか?

4

1 に答える 1

8

jQuery UI オートコンプリート ドキュメントから:

選択する

メニューからアイテムが選択されたときにトリガーされます。デフォルトのアクションは、テキスト フィールドの値を選択した項目の値に置き換えることです。このイベントをキャンセルすると、値が更新されなくなります。[...]

ここで何が起こるか: によってラップされた入力の値を「オートコンプリート」ウィジェットに置き換えますが、ウィジェットはそれ自体を置き換えます。) 関数に追加return false;して機能させます。

補足として、その要素の DOM を再度検索する必要はありません。

this.value = ui.item.label;

...トリックを行う必要があります。)

于 2012-12-19T14:07:35.340 に答える