2013-07-26 72 views
0

我有一個下拉列表,當更改將值傳遞給控制器​​時。codeigniter - 使用json填充查詢結果的下拉列表

這個控制器,通過模型然後運行一個查詢,返回多個結果。

我需要以某種方式填充我的下拉列表與查詢的結果。

我的語法是:

控制器

function GetDeliveryAddressfromCustomer(){ 

    $this->load->model('Sales_model'); 
    if (isset($_POST['data'])){ 
     $q = strtolower($_POST['data']); 
     $data = $this->Sales_model->GetDeliveryAddressfromCustomer($q); 
     $this->output->set_content_type('application/json')->set_output(json_encode($data)); 
    } 
} 

型號

function GetDeliveryAddressfromCustomer($q){ 
    $this->db->select('deliveryaddress'); 
    $this->db->where('Account', $q); 
    $query = $this->db->get('Client'); 
    if($query->num_rows > 0){ 
     foreach ($query->result_array() as $row){ 
      $row_set[] = htmlentities(stripslashes($row['deliveryaddress'])); 
     } 
     return $row_set; 
    } 
    } 

查看JS

$.post('GetDeliveryAddressfromCustomer', {data:selectedObj.value},function(result) { 
    var selcust = selectedObj.value; 

    //what to put here to pupulate dropdown list 

    }); 

查看選擇

<select id="deliveryaddress" name="deliveryaddress" data-mini="true" data-theme="a"> 
    <option value="0"></option> 
</select> 

的錯誤是:Trying to get property of non-object

我相信錯誤是被返回的多個結果。 selectedObj.value是一個不是值的數組。

我並不擔心部分下拉菜單,但如果您有任何建議,請提供。

感謝, 瑞安

+0

是完整的錯誤?沒有行號? – bottleboot

回答

1

請發表您的JSON對象,因爲我不知道你的數據輸出是什麼樣子

但好歹看看這個

$.post('GetDeliveryAddressfromCustomer', {data:selectedObj.value},function(result) { 
    var selcust = selectedObj.value; 

    //what to put here to pupulate dropdown list 
$("#deliveryaddress").html('<option value=""></option>'); //or you could empty it or ignore this line 
$.each(result, function(index, value) { 
    $("#deliveryaddress").append('<option value="'+value+'">'+value+'</option>') 
      }); 
     } 
     , "json" //dont forget this 
       ); 
+0

嗨艾哈邁德。 這很好,謝謝! – Smudger

+0

歡迎您:) –