2012-12-26 122 views
0

得到一個笨功能的數據這是我到目前爲止有:不能與阿賈克斯

此功能從模型返回的數據:

function get_user2() 
{ 
    $this->load->model('my_model'); 
    $id=$this->input->post('users1'); 
    $users2=$this->my_model->get_relations($id); 
    return $users2; 
} 

模型功能:

function get_relations($usr) 
{ 
     $this->db->where('id',$usr); 
     $rel=$this->db->get('relacion'); 

    if($rel->num_rows!=0) 
    { 
     $relacion=array(); 
     foreach ($rel->result_array() as $row) 
     { 
      $relacion[]=array(
          'id'=>$row['id'], 
          'username1'=>$row['username1'], 
          'username2'=>$row['username2'], 
         ); 
     } 
     return $relacion; 
    }else{ 
     return false; 
    } 
} 

在我看來:

<select name="users1" id="drop1"> 
<?php 
    if($opciones!=false){ 
     foreach ($opciones as $row) { 
      echo '<option value="'.$row['user_id'].'">'.$row['username'].'</option>'; 
     } 

    } 
?> 
</select> 
<script src="jquery.js"></script> 
<script type="text/javascript"> 
$("#drop1").change(function(){ 
    $.ajax({ 
       type: "POST", 
       url: "example.com/CI/index.php/evaluation/get_user2", 
       data: "users1="+$('#drop1').val(), 
       success: function(){ 
        alert('it works!'); 
       } 
      }); 
}); 
</script> 

我想用控制器函數返回的選項填充第二個下拉列表,但ajax請求不會執行任何操作,所以我甚至沒有找到該部分。有人能幫我發現什麼是錯的嗎?我已經測試了控制器和模型的功能,並且他們工作。你能告訴我如何填補第二個下拉選項? 非常感謝!

+0

你能看到,如果執行Ajax請求?你可以使用螢火蟲或鉻的內置工具。你加載了輸入庫嗎? – lam3r4370

+0

輸入庫是一個系統庫,它始終被加載,這不是問題。使用Chrome瀏覽器,按f12,查看js控制檯顯示的錯誤(或者如果您已經安裝了Firefox,請使用Firefox和Firebug) –

回答

0

嗯,我在一個項目中有一個非常類似的代碼來獲取一些城市,取決於用戶選擇的島嶼。因此,選擇更改,加載城市並啓用第二次選擇。主要區別在於您傳遞數據的方式。

<script type="text/javascript"> 
$("#idisla").change(function(){ 
     if($("#idisla").val()!=""){ 
      var dato=$("#idisla").val(); 
      $.ajax({ 
       type:"POST", 
       dataType:"html", 
       url:base_url+"admin/centros/municipios_select", 
       data:"idislajs="+dato, 
       success:function(msg){ 
        $("#idmunicipio").empty().removeAttr("disabled").append(msg); 
        callback(); 
       } 
      }); 
     }else{ 
      $("#idmunicipio").empty().attr("disabled","disabled"); 
     } 
}); 
</script> 

功能不僅看起來從選定islad(ID)城市

function municipios_select() 
    { 
     //el idIsla viene dado por el value del combo islas 
     $isla = $this->input->post('idislajs'); 
     $data['municipios'] = $this->municipios_model->obtenMunicipios($isla); 
     echo $this->load->view("site/municipios_select",$data, TRUE); 
    }