【问题标题】:Autocomplete text not showing actual data codeigniter?自动完成文本未显示实际数据代码点火器?
【发布时间】:2020-01-09 07:23:59
【问题描述】:

代码:

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

在这段代码中,我创建了一个自动完成建议框,它工作正常,但问题是当我在文本框中按下键时,只显示名称我想显示 idname 并且当我发出警报时然后只有 id 会显示在我的警报框中。那么,我该怎么做呢?请帮帮我。

谢谢

【问题讨论】:

    标签: php jquery ajax codeigniter autocomplete


    【解决方案1】:

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

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

    希望对你有帮助!!

    【讨论】:

      【解决方案2】:

      您可以使用idname 的组合创建一个字符串。

      例如:

      if($sql->num_rows() > 0){
          foreach($result as $row)
          {
              $skillData[] = $row['id'].'-'.$row['name'];
          }
      }
      

      如果你只想得到idname 然后用javascript的split函数分割它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-19
        • 1970-01-01
        • 2015-08-01
        • 2012-11-15
        • 1970-01-01
        相关资源
        最近更新 更多