gpt4 book ai didi

javascript - HTML 自定义属性在 Jquery 中始终返回未定义

转载 作者:行者123 更新时间:2023-11-28 18:43:30 25 4
gpt4 key购买 nike

我有如下 HTML 元素

<input type="text" id="Search" select-box-search="true" select-box-search-url="testURL" /> 

我有如下 jQuery。

 $(":input[select-box-search]").each(function () {
$(this).autocomplete({
source: function (request) {
var url = $(this).attr("select-box-search-url");
$.ajax({
async: false,
cache: false,
type: "POST",
url: url,
data: { "term": request.term},
success: function (data) {

}
}
});
}
});
});

“url”始终未定义。然而,“this”指的是正确的元素(在 Chrome 中调试时)。有什么遗漏吗?

艾伦

最佳答案

$this 在源中给出了不同的上下文:函数(请求)。因此,您需要在进入函数之前缓存元素

 $(":input[select-box-search]").each(function () {
var $element = $(this);
$element.autocomplete({
source: function (request) {
var url = $element.attr("select-box-search-url");
$.ajax({
async: false,
cache: false,
type: "POST",
url: url,
data: { "term": request.term},
success: function (data) {

}
}
});
}
});
});

关于javascript - HTML 自定义属性在 Jquery 中始终返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763519/

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