簡體   English   中英

訪問javascript對象中的屬性的奇怪行為

[英]Strange behavior accessing a property in a javascript object

我正在嘗試訪問對象中的值:

<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 任何想法為什么會這樣?

從jQuery UI自動完成文檔中:

選擇

從菜單中選擇一個項目時觸發。 默認操作是將文本字段的值替換為所選項目的值。 取消此事件將阻止更新值。 [...]

發生了什么:您將輸入中的值替換為“自動完成”小部件中的內容-但此小部件會自行替換它。 )添加return false; 使其發揮作用。

作為旁注,您不必再次查找該元素的DOM:

this.value = ui.item.label;

...應該可以解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM