gpt4 book ai didi

php - jQgrid 中使用 Php 页面返回的 JSON 数据自动完成

转载 作者:行者123 更新时间:2023-11-28 10:03:39 24 4
gpt4 key购买 nike

我试图为 jQgrid 生成的文本框实现自动完成。 Php 页面将返回 JSON 数据。这是我到目前为止所能做的:(请帮忙)

function autocomplete_element(value, options) {
var $ac = $('<input type="text"/>');
$ac.val(value);
$ac.autocomplete({
source: function(request, response) {
$.getJSON("autocomplete.php", { q: request.term }, response);
}
});
return $ac;
}

function autocomplete_value(elem, op, value) {
if (op == "set") {
$(elem).val(value);
}
return $(elem).val();
}

$(function(){

$("#list").jqGrid({
url:'process1.php',
datatype: 'xml',
mtype: 'GET',
colNames:['Column Name'],
colModel :[
{name:'columnid', index:'columnid', width:50, edittype:'custom',
editoptions: {
custom_element : autocomplete_element,
custom_value : autocomplete_value
}
}
]

........
........




////////////////////////////////////////////////
/// THE PHP PAGE ////
////////////////////////////////////////////////
/*
autocomplete.php
*/


<?php

require_once("../dbconfig.php");
$term = trim(strip_tags($_REQUEST['q']));//retrieve the search term that autocomplete sends

$qstring = "SELECT description as value, id FROM test WHERE name LIKE '%".$term."%'";
$result = mysql_query($qstring);//query the database for entries containing the term


while ($row = mysql_fetch_array($result,MYSQL_ASSOC))//loop through the retrieved values
{
$row['id']=(int)$row['id'];
$row['value']=htmlentities(stripslashes($row['value']));
$row_set[] = $row;//build an array
}

echo json_encode($row_set);//format the array into json data

?>

当我在 $ac.autocomplete 的源中使用诸如 ["blah","hello","howdy"] 之类的数据时,事情似乎工作得很好。但我有大约 2000 行数据可供搜索。 jQgrid 表单工作正常,我能够添加和编辑数据。另外,我还测试了 php 页面,当我将浏览器指向它时,该页面会显示正确的 JSON 数据。我只是对从 php 页面返回的数据的自动完成感到震惊,因为我对 jQuery 不太熟悉。请帮忙。

最佳答案

尝试在 php 代码中的最后一个 echo 之后添加 exit() 。我希望这能解决。

关于php - jQgrid 中使用 Php 页面返回的 JSON 数据自动完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8675120/

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