0

我想使用 Jquery UI-Autocomplete。这是使用自动完成的方法。

$(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
    });
});

这里定义了数组“availableTags”。但我想从一个数据源生成自动完成,该数据源是一个返回 JSON 数据的服务器端脚本。谁能帮我将该数据源适应自动完成?

我使用 MVC 架构(Codeigniter)并在控制器中使用以下方法返回 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/inventory/supcode”

提前致谢.....

4

2 回答 2

1

试试这个

source: 'index.php/inventory/supcode',

并更换

    foreach($result as $row){
       $finresult[]=array(
        'name' => $row['name']
       );
    }

foreach($result as $row){
   $finresult[]=$row['name'];
}
于 2012-09-13T08:59:40.450 回答
1

不要用数组包装名称,只需执行以下操作:

foreach($result as $row){
    $finresult[]= $row['name'];
}

在 javascript 端,source使用 url 设置:

source: 'index.php/inventory/supcode',
于 2012-09-13T09:03:34.103 回答