我想使用Jquery UI-自动完成。以下是使用自动完成的方法。
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
这里定义了数组"available Tags"。但我想从一个数据源生成自动完成,这个数据源是一个返回JSON数据的服务器端脚本。有人能帮助我将该数据源调整为自动完成吗??
Im使用MVC架构(Codeigner),并在控制器中使用以下方法返回JSON数据,
function supcode(){
$dataarray="";
$data=$this->Inventorymodel->supcode();
echo json_encode($data);
}
我正在使用以下函数提取模型中的数据,
function supcode(){
$finresult="";
$this->db->select('name');
$query = $this->db->get('supplier');
$result=$query->result_array();
foreach($result as $row){
$finresult[]=array(
'name' => $row['name']
);
}
return $finresult;
}
这是控制器中函数supcode的URL,"index.php/库存/supcode"
提前感谢。。。。。
尝试这个
source: 'index.php/inventory/supcode',
并替换
foreach($result as $row){
$finresult[]=array(
'name' => $row['name']
);
}
至
foreach($result as $row){
$finresult[]=$row['name'];
}
不要用数组包装名称,只需执行:
foreach($result as $row){
$finresult[]= $row['name'];
}
在javascript端,使用url设置source
:
source: 'index.php/inventory/supcode',