gpt4 book ai didi

php - 自定义 jquery 自动完成结果

转载 作者:可可西里 更新时间:2023-11-01 13:25:05 25 4
gpt4 key购买 nike

我正在使用带有远程数据源的 jQuery 自动完成功能

    $( "input#searchbar" ).autocomplete({
source: function( request, response ) {
$.ajax({type: "post",
mode: "abort",
dataType: 'json',
url: 'index.php/ajax/autosuggest',
data: { term: $("#searchbar").val()},
success: function(data) {

response(data);
}
});
},
select: function(e, ui) {
//Refresh pros
if (map){
mouseUpOnTheMap();
}
}
});

效果非常好。当我键入“a”时,会列出一个以它开头的事件列表(从数据库中获取)。我想做的是在结果中添加一个自定义参数(事件的 ID)。

因为当用户稍后选择事件时,我将不得不“重新执行”sql 搜索以获取事件的 ID...

那么有没有办法在自动完成返回的 JSON 中包含事件 ID?

谢谢

最佳答案

如果您的 index.php/ajax/autosuggest 页面返回一个包含“label”和“value”两个键的 JSON 对象数组(而不是字符串数组),jQuery UI 自动完成插件使用“label” "键显示在自动完成列表中,但实际上为您提供了在选择事件中选择的 JSON 对象。然后就可以引用对象的值了。

$( "input#searchbar" ).autocomplete({
source: function( request, response ) {
$.ajax({type: "post",
mode: "abort",
dataType: 'json',
url: 'index.php/ajax/autosuggest',
data: { term: $("#searchbar").val()},
success: function(data) {
//data assumes [{label: "result 1", value: 1}, {label: "result 2", value: 2}];
response(data);
}
});
},
select: function(e, ui) {
var selectedItem = ui.item;
var id = selectedItem.value;
var label = selectedItem.label;

//Refresh pros
if (map){
mouseUpOnTheMap();
}
}
});

我还没有测试过这个,只是在这里找到的:http://www.petefreitag.com/item/756.cfm

关于php - 自定义 jquery 自动完成结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6236786/

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