我試圖從jQueryUI中使用自動完成功能。我需要對後端進行數據調用,但除了request.term
的值以外,還有其他參數需要傳遞,因此,如果傳遞附加數據,而不是使用其他方法,則我想使用data-
屬性做到這一點。jQuery自動完成+數據屬性在結果中返回uiAutocomplete
var input = $(document.createElement("input"));
mydata.each(function() {
input.attr('data-'+this.nodeName, this.innerHTML);
});
所以當我建立我的<input>
我也把在裏面data-
屬性的早午餐,這個想法是,當我需要做的自動完成呼叫,我應該能夠只是input.data()
搶我需要的一切。
但是,我從jQuery的.data()
調用中收到了一些奇怪的行爲。
input.autocomplete({
source: function(req, resp) {
$.ajax({
url: $(this.element).attr('action'),
dataType : 'json',
data: $(this.element).data(),
cache : false
}).done(function(resp) {
console.log(resp);
}).fail(function() {
alert("failed");
});
},
...
在上面的代碼,當我這樣做$(this.element).data()
,它確實返回我所有的我定義的屬性,但它也包括別的東西,比如uiAutocomplete
對象...
我想呼叫.data
應該只返回前綴爲data-
的項目?獲取data-
屬性的最佳方法是什麼?
我的問題是,'。數據()'將返回一個額外的對象'uiAutocomplete',它不應該是。我沒有要求提供關於如何進行自動完成的示例。 – codenamezero