2016-03-07 79 views
0

我有一個自動完成功能的文本框。我的代碼是值codeigniter控制器查看和顯示內部JavaScript變量作爲數組

<script> 
    $(function() { 
    var items = [ 'France', 'Italy', 'Malta', 'England', 
     'Australia', 'Spain', 'Scotland' ]; 

    function split(val) { 
     return val.split(/,\s*/); 
    } 
    function extractLast(term) { 
     return split(term).pop(); 
    } 

    $("#skills") 
     .autocomplete({ 
     minLength: 0, 
     source: function(request, response) { 
      response($.ui.autocomplete.filter(
      items, extractLast(request.term))); 
     }, 
     focus: function() { 
      return false; 
     }, 
     select: function(event, ui) { 
      var terms = split(this.value); 
      // remove the current input 
      terms.pop(); 
      // add the selected item 
      terms.push(ui.item.value); 
      // add placeholder to get the comma-and-space at the end 
      terms.push(""); 
      this.value = terms.join(", "); 
      return false; 
     } 
     }); 
    }); 
</script> 

上面的代碼工作正常。現在的問題是,我想顯示來自數據庫的值而不是var items = [ 'France', 'Italy', 'Malta', 'England', 'Australia', 'Spain', 'Scotland' ];。我想更改變量item中的值。

我笨控制器代碼,

$data['skills'] = $this->workdone->getAllSkills(); 
$this->load->view($page, $data); 

我的HTML代碼,

<input type="text" name="skills" id="skills"> 

我已經嘗試了很多。有沒有解決辦法。

+0

概念:VAR項目= <=的print_r(技能); ?>; – WRDev

回答

1

要做到這一點的最好方法是將值從Codeigniter傳遞到AJAX的前端。

最簡單的方式做到這一點是它打印出來,如:

var items = ["<?=implode('","',$skills)?>"]; 

AJAX實例(更好的方法)

您jQuery將使用$獲得():

var items = []; 
$.get(YOUR_CONTROLLER_URL, function(data){ 
    items = data.skills; 
}); 

您的控制器代碼將打印JSON:

$this->output 
     ->set_status_header(200) 
     ->set_content_type('application/json', 'utf-8') 
     ->set_output(json_encode($data)) 
1

步驟1:創建陣列上BASIS查詢存儲陣列,具有所有項目從數據庫中... FOR恩:$ all_items

第2步:現在你只需要使用foreach循環存儲在JavaScript的PHP的數組值陣列..

<script type="text/javascript" language="javascript"> 
var all_state = new Array(); 
<?php foreach($all_items as $k => $v){ ?> 
    all_state.push('<?php echo $v; ?>'); 
<?php } ?> 
</script> 

3步:現在項目陣列中的Java腳本將包含所有國家!這就是所有

相關問題