2016-09-23 1 views
3

입력 텍스트에 대해 글자를 사용하고 싶지만 작동하지 않습니다.typeahead 부트 스트랩이 PHP 페이지의 동적 데이터로 작동하지 않습니다.

내 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(); 

내가 입력 텍스트를 입력하기 시작, 그것은 아무것도 표시되지 않습니다, 그것은 select 쿼리에서 제공되는 email 목록을 드롭 다운해야한다. 오류는 반환되지 않습니다.

+0

당신이'확인했던 <링크 확인해 = "스타일"유형 = "텍스트/CSS는"HREF를 = ""> '이 행 정확하게 CSS 파일을 제공하고 있습니다. 귀하의 CSS 파일이로드되지 않을 수 있습니다 –

+0

브라우저에서'view page source'를 통해 확인한 결과 잘 작동합니다. – may

+0

희망이 도움이 될 것입니다. - https://www.upwork.com/hiring/development/creating -autocomplete-functionality-with-php-and-mysql/ –

답변

0

코드에 문제가 있습니다. 각 $driver에 대해 루핑하고 데이터 소스에 전자 메일 아이디를 표시하고 입력 태그가 닫히지 않았습니다.


$emails = array_column($driver, 'email');

  • 이 모든 이메일을 포함하는 문자열을 만들고 다음 코드를 사용 $driver에서 모든 이메일의 부트 스트랩 typeaded

    1. 가져 오기 목록을 사용하십시오. 모든 이메일은 큰 따옴표 (")에 싸여 쉼표로 구분해야합니다 (,)
      $csv = "\"" . implode("\",\"", $emails) . "\"";
    2. 이제 data-source 속성은 시작과 끝과 같은 작은 따옴표를 가지고 있음을 기억하십시오 typeahed 입력 태그
      <input type="text" class="form-control input-lg typeahead" autocomplete="off" data-provide="typeahead" data-source='[<?php echo $csv; ?>]' id="email" name="email">
      을 만들 수 있습니다.
  • 관련 문제