如何将JSON数据源适合Jquery自动完成小部件


How to fit JSON data source to Jquery Autocomplete widget?

我想使用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',