2014-01-09 64 views
0

我傳遞一個數組jQuery的通過像這樣如何jQuery的數組值發送到笨控制器

$.ajax({ 
    url: "<?php echo base_url();?>index.php/autocomplete/test_search?added_ids[]="+ids, 

..... 

這裏是鉻

... /自動/ test_search?added_ids網絡文本[] = 5190,3574,5369 &術語= S

我必須抓住此數組中的我的控制器運行像

$selected = $this->input->get('added_ids'); 

$this->db->select('first_nm, last_nm , title'); 
$this->db->where_not_in('my_id', $selected); 
查詢

但是對於數組中的第一個條目來說,它正在工作。下一個元素不會被排除在where_not_in部分。你能幫我嗎我在哪裏做錯了?

+0

把它作爲一個字符串與比這些值轉換爲使用破滅或加入功能的陣列。 – Rikesh

+0

send as'added_ids =「+ ids' –

回答

1

使用 -

ids.join(", "); 

,並將其作爲一個字符串傳遞

+0

@ Nouphal.M謝謝,它工作。 – user3177114

1

在你的Ajax調用

$.ajax({ 
    url: "<?php echo base_url();?>index.php/autocomplete/test_search?added_ids="+ids.join("_"), 

在控制器

$selected = $this->input->get('added_ids'); 
$selected=explode('_',$selected); 

$this->db->select('first_nm, last_nm , title'); 
$this->db->where_not_in('my_id', $selected); 

您可以使用.join()到編曲結合ay元素。在您的控制器中,您可以使用explode()

0

嘗試 where_not_in()函數期望數組不是字符串。

$selected = $this->input->get('added_ids'); 
$ids = explode(',',$selected[0]); 
$this->db->select('first_nm, last_nm , title'); 
$this->db->where_not_in('my_id', $ids); 

更多信息here

相關問題