gpt4 book ai didi

javascript - jQuery 自动完成 - 将目标元素属性作为额外参数传递?

转载 作者:行者123 更新时间:2023-11-30 18:52:02 26 4
gpt4 key购买 nike

我正在使用 jQuery UI 自动完成插件进行 ajax 调用和检索数据。除了传递输入元素的文本外,我还尝试将输入元素的“id”属性作为附加参数传递。我的代码摘录如下所示 -

    $("#autocomplete input").autocomplete({ 
source: function(request, response) {
$.ajax({
url: "search.php",
dataType: "json",
data: {
term: extractLast(request.term),
extra_param: $(this).attr('id')
},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.label,
value: item.name
}
}))
}
})
},

});

额外参数被添加到 ajax 调用中的“数据”属性。如果我专门传入一个值,它就可以正常工作,例如'3' 但我想传递正在调用该函数的输入元素的 'id' 属性,例如$(this).attr('id').

我认为在这部分代码中未评估“this”是一个问题,但我不知道我还能如何引用目标元素。任何帮助表示赞赏!

最佳答案

$('#autocomplete input').each(e, function() {
$(e).autocomplete('/path?param=' + $(e).attr('id'), function() { ... });
});

$('#autocomplete input').each(e, function() {
$(e).autocomplete({ source:function ... extra_param: $(e).attr('id') ... });
});

也许有更优雅的方式,但是,我知道自动完成有点复杂。我亲自生成带有获取参数的请求并使用 formatItem/formatResult 而不是将源分配给 ajax 调用。

关于javascript - jQuery 自动完成 - 将目标元素属性作为额外参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3583989/

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