自动完成文本未显示实际数据代码点火器?
Posted
技术标签:
【中文标题】自动完成文本未显示实际数据代码点火器?【英文标题】: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);
在这段代码中,我创建了一个自动完成建议框,它工作正常,但问题是当我在文本框中按下键时,只显示名称我想显示 id
和 name
并且当我发出警报时然后只有 id 会显示在我的警报框中。那么,我该怎么做呢?请帮帮我。
谢谢
【问题讨论】:
【参考方案1】:您当前的array
没有这两个值。请使用以下代码:
foreach($result as $key => $row)
$skillData[$key]['id'] = $row['id'];
$skillData[$key]['name'] = $row['name'];
希望对你有帮助!!
【讨论】:
【参考方案2】:您可以使用id
和name
的组合创建一个字符串。
例如:
if($sql->num_rows() > 0)
foreach($result as $row)
$skillData[] = $row['id'].'-'.$row['name'];
如果你只想得到id
或name
然后用javascript的split函数分割它。
【讨论】:
以上是关于自动完成文本未显示实际数据代码点火器?的主要内容,如果未能解决你的问题,请参考以下文章