gpt4 book ai didi

php - 帮助获取传递到 Jquery 自动完成插件的正确信息以获得可点击的结果

转载 作者:行者123 更新时间:2023-12-01 05:04:00 27 4
gpt4 key购买 nike

所以我对以下代码有疑问。我有一个格式化的数组:

{label:movie, value:location} 

以下代码将仅在搜索框中显示标签,并且在单击时使用该信息来创建 URL。我需要它传递数组中的值字段而不是标签。我尝试将 suggest.push(val.label) 更改为 suggest.push(val.value),此时单击网址有效,但网址显示在搜索框中而不是标签中。我对 Jquery 和 Json 很陌生,所以我真的很盲目。

$(function(){
//attach autocomplete
$("#to").autocomplete({
minLength: 2,

//define callback to format results
source: function(req, add){

//pass request to server
$.getJSON("/movie.php?callback=?", req, function(data) {

//create array for response objects
var suggestions = [];

//process response
$.each(data, function(i, val){
suggestions.push(val.label);
});

//pass array to callback
add(suggestions);
});

},
focus: function (event, ui) {
$(event.target).val(ui.item.label);
return false;
},
select: function (event, ui) {
$(event.target).val(ui.item.label);
window.location = ui.item.value;
return false;
},
});
});

最佳答案

你很接近。您不需要在 success 回调中进行后处理:

source: function(req, add){
//pass request to server
$.getJSON("/movie.php?callback=?", req, add);
},

自动完成小部件可以采用对象数组,只要这些对象具有 label 和/或 value 属性。

由于您已在 AJAX 调用的结果中提供了这两者,因此您应该通过直接调用 add 函数作为 AJAX 回调的成功方法来获得所需的行为。

关于php - 帮助获取传递到 Jquery 自动完成插件的正确信息以获得可点击的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477905/

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