我想在输入文字上使用typeahead,但它不起作用。
我的HTML:
<link rel="stylesheet" type="text/css" href="<?php echo base_url('asset/css/typeahead.css')?>">
<?php foreach ($driver as $d) { ?>
<input type="text" class="form-control input-lg typeahead" autocomplete="off" data-provide="typeahead" data-source="<?php echo $d['email']; }; ?>" id="email" name="email">
<script src="<?php echo base_url('asset/js/typeahead.bundle.min.js') ?>"></script>
我的控制器:
$this->db->select("*");
$this->db->from('user');
$query = $this->db->get();
$data['driver'] = $query->result_array();
当我开始输入输入文本时,它没有显示任何内容,应该下拉email
查询提供的select
列表。没有错误返回。
答案 0 :(得分:0)
您的代码存在问题。您正在循环每个$driver
并在数据源中显示其电子邮件ID,并且输入标记未关闭。
使用bootstrap typeaded
$driver
所有电子邮件的列表
$emails = array_column($driver, 'email');
)中,并以逗号分隔("
),
$csv = "\"" . implode("\",\"", $emails) . "\"";
<input type="text" class="form-control input-lg typeahead" autocomplete="off" data-provide="typeahead" data-source='[<?php echo $csv; ?>]' id="email" name="email">
属性的单引号为start和end。