自动填充文字没有显示实际的数据点火器?

时间:2019-09-06 11:58:31

标签: php jquery ajax codeigniter autocomplete

代码:

<script src="<?php echo base_url(); ?>resource/js/jquery.tokeninput.js"></script>
<script>
    $("#dilivery_area_pincode").tokenInput("<?php echo base_url(); ?>admin/search", {
        minChars: 2
    });
</script>
<input type="text" class="form-control" id="dilivery_area_pincode" name="dilivery_area_pincode">

控制器:

public function search()
{
    $searchTerm = $_GET['q'];
    $this->db->select('id,name');
    $this->db->from('pincode');
    $where = "name like '%".$searchTerm."%'";
    $this->db->where($where);
    $sql = $this->db->get();
    $result = $sql->result_array();

    $skillData = array();
    if($sql->num_rows() > 0){
        foreach($result as $row)
        {
            $skillData[] = $row;
        }
    }
    echo json_encode($skillData);
}

在此代码中,我创建了一个自动完成建议框,该框工作正常,但问题是,当我在文本框中按键时,仅显示名称,我想用id显示name当我发出警报时,只有ID会显示在我的警报框中。那么,我该怎么做?请帮助我。

谢谢

2 个答案:

答案 0 :(得分:0)

您当前的array没有两个值。请使用以下代码:

foreach($result as $key =>  $row)
{
    $skillData[$key]['id'] = $row['id'];
    $skillData[$key]['name'] = $row['name'];
} 

希望对您有帮助!

答案 1 :(得分:0)

您可以创建包含user_id PK first_name last_name department enum('accounts', 'sales', 'marketing', 'customer support','billing', 'logistics', 'production') NULL is default. project_history email password SHA1 registration_date department --------------- NULL - 0 accounts - 1 sales - 2 marketing - 3 customer support - 4 billing - 5 logistics - 6 production - 7 的字符串。

例如:

id

如果您只想获取nameif($sql->num_rows() > 0){ foreach($result as $row) { $skillData[] = $row['id'].'-'.$row['name']; } } ,请使用javascript的split函数对其进行拆分。