gpt4 book ai didi

javascript - 访问 javascript 对象中的属性的奇怪行为

转载 作者:可可西里 更新时间:2023-11-01 02:42:40 26 4
gpt4 key购买 nike

我正在尝试访问我的对象中的一个值:

<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 调用的结果:

enter image description here

奇怪的是:

如果我 console.log(ui.item.label) 我得到:美国马萨诸塞州波士顿

如果我调用 $('input[name="address-search"]').val(ui.item.label); 我只会得到 Boston。知道为什么会这样吗?

最佳答案

来自 jQuery UI 自动完成文档:

select

Triggered when an item is selected from the menu. The default action is to replace the text field's value with the value of the selected item. Canceling this event prevents the value from being updated. [...]

这里发生了什么:您将包装在输入中的值替换为“自动完成”小部件 - 但随后小部件会自行替换它。 ) 将 return false; 添加到您的函数中以使其工作。

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

this.value = ui.item.label;

...应该可以解决问题。 )

关于javascript - 访问 javascript 对象中的属性的奇怪行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com