我想在输入文本上使用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列表的下拉列表。无错误返回。

最佳答案

你的代码有问题。您正在为每个$driver循环,并在数据源中显示其电子邮件ID,而输入标记没有关闭。
用于使用引导typeaded
使用以下代码从$driver获取所有电子邮件的列表
创建一个包含所有电子邮件的字符串。所有电子邮件都应该用双引号($emails = array_column($driver, 'email');)包装,并用逗号(")分隔。
,
现在创建typeahed输入标签$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">属性有一个引号作为开始和结束。

关于php - typeahead bootstrap 无法使用php页面中的动态数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39654155/

10-11 20:17
查看更多