【发布时间】:2021-07-30 03:20:47
【问题描述】:
假设我有以下 HTML:
<div class="name">
First: <input type="text" name="firstName" class="firstName">
Last: <input type="text" name="lastName" class="lastName">
</div>
这是与该 HTML 对应的 JS:
$('.lastName').last().autocomplete({
source: function(request, response) {
var firstName = $('.firstName', $(this).closest('.name'));
var lastName = request.term;
console.log(firstName + ' ' + lastName);
}
});
我想让自动完成功能将最近的 .firstName 拉到源方法链接到的 .lastName 字段,但它不起作用。
从表面上看,如果这行不通,我可以将某种唯一 ID 附加到 .lastName,但如果我唯一可以访问的是 request,那么我不能简单地添加 data-whatever 属性到<input> 元素。
有什么想法吗?
这是我的 JS 小提琴:https://jsfiddle.net/f86nLrq9/
【问题讨论】:
-
真的不清楚你期望它如何工作。通常,您有一系列选择可供选择。该数组将在
source回调中传递给response(array)。在尝试选择姓氏时,您会使用名字做什么? -
仅供参考,从相邻的名字中获取值将是
$(this).siblings('.firstname').val() -
this不明确。您必须使用更具体的选择器。 -
进一步研究,使用
$(this.element)进行正确参考。this与实例有关,与元素无关。
标签: jquery jquery-ui jquery-ui-autocomplete