jQuery UI自动完成JSON响应问题
我做了大量的研究,但仍然不知道如何使用jQueryUIAutoComplete。自动完成不工作,我不知道为什么。任何帮助都将不胜感激 我在前端有以下内容。 1.jQuery链接正确。 2.jqueryui链接正确。 3.jQueryUICSS链接正确jQuery UI自动完成JSON响应问题,jquery,jquery-ui,autocomplete,Jquery,Jquery Ui,Autocomplete,我做了大量的研究,但仍然不知道如何使用jQueryUIAutoComplete。自动完成不工作,我不知道为什么。任何帮助都将不胜感激 我在前端有以下内容。 1.jQuery链接正确。 2.jqueryui链接正确。 3.jQueryUICSS链接正确 <script> $("#tags").autocomplete({ source: function(request, response){ $.post("/panel/tags.php", {data:request.term},
<script>
$("#tags").autocomplete({
source: function(request, response){
$.post("/panel/tags.php", {data:request.term}, function(data){
response($.maps(data, function(item) {
return {
label: item.tagName,
value: item.tagID
}
}))
}, "json");
},
minLength: 2,
dataType: "json",
cache: false,
focus: function(event, ui) {
return false;
},
select: function(event, ui) {
this.value = ui.item.label;
/* Do something with user_id */
return false;
}
});
</script>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" size="50" />
</div>
其输出为:
[{“tagID”:“1”,“标记名”:“艺术”},{“tagID”:“4”,“标记名”:“艺术”
显示“},{tagID:“3”,“标记名:“艺术家”},{tagID:“2”,“标记名:“设计”}]
如果您通过放置?tag=art来访问页面,它将正确地消除“设计”。看起来您正在做一个
post
,然后尝试在php页面上拾取$\u GET['tags']
。因此,尝试使用ajax
函数,并在php页面上选择$\u GET['term']
。另外,$.maps
不是一个函数。我想你的意思是$.map
而且,如果希望标签
作为输入值,则不要指定值
字段。如果只指定一个,则自动完成将同时使用标签
jQuery自动完成:
$("#tags").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/panel/tags.php",
dataType: "json",
data: {term: request.term},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.tagName
};
}));
}
});
},
minLength: 2,
select: function(event, ui) {
/* Do something with user_id */
}
});
PHP:
链接到教程:我在success函数的开头放上“alert(data.length);”,以检查从服务器接收的数据是否正确。它使jquery控件在接收数据时无法显示任何内容。Awesome!请注意:我需要一个与标签不同的值(在我的例子中是cust_name和cust_nbr)。在“label:item.tagName”之后添加第二行:“value:tagId”。另外,我从服务器返回的JSON包含一个子数组和实际数据,我的客户信息在data.cust_数据中。在您的$.map中,请执行:“$.map(data.cust_data,function(item){”。(我猜我可以使用item.cust_data.cust_nbr)仅供参考,以防其他人遇到此问题。
$("#tags").autocomplete({
source: function( request, response ) {
$.ajax({
url: "/panel/tags.php",
dataType: "json",
data: {term: request.term},
success: function(data) {
response($.map(data, function(item) {
return {
label: item.tagName
};
}));
}
});
},
minLength: 2,
select: function(event, ui) {
/* Do something with user_id */
}
});
$query_tags = "SELECT tagID, tagName FROM DCB_Tags WHERE tagName LIKE '".mysql_real_escape_string($_GET['term'])."%' ORDER BY tagName ASC LIMIT 10";