假設我有以下HTML:
<div class="name"/span>>
First: < input type="text" name="firstName"/span> class="firstName"/span>>
最后一個。< input type="text" name="lastName"/span> class="lastName"/span>>
</div>/span>
下面是與該HTML相對應的JS:
$('.lastName'/span>).last().autocomplete({
source: function(request, response) {
var firstName = $('.firstName', $(this).closest(' .name') )。
var lastName = request.term;
console.log(firstName ' '/span> lastName)。
}
});
我想讓自動完成拉出與源方法鏈接的.firstName欄位最接近的.lastName欄位,但這并不可行。
從表面上看,如果這行不通的話,我可以給.lastName附加某種唯一的ID,但是如果我唯一能訪問的是request,那么我就不能簡單地在<input>元素上添加一個data-whatever屬性。
有什么想法嗎?
這是我的JS Fiddle。https://jsfiddle.net/f86nLrq9/
uj5u.com熱心網友回復:
考慮到以下情況。https://jsfiddle.net/Twisty/39mrzowc/39/
JavaScript
$(function(/span>) {
$('.lastName:last').autocomplete({
source: function(request, response) {
var fName = $(this.element).prev().val() 。
console.log(fName, request.term)。
response([] )。
},
});
});
如果你檢查this,你會發現它是對Autcomplete Instance(一個資料物件)的參考。大多數Widgets都有對元素的參考,請看。https://api.jqueryui.com/jQuery.widget/
這意味著this,不是對input.lastName元素的參考;因此,你所使用的代碼沒有作業。你的同樣的代碼加上這個小的改動也可以作業。https://jsfiddle.net/Twisty/yucabv8m/1/
JavaScript
$('.lastName').last().autocomplete({
source: function(request, response) {
var firstName = $('.firstName', $(this. element).closest('.name')) .val();
var lastName = request.term;
console.log(firstName ' '/span> lastName)。
}
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/319956.html
標籤:
