没有响应.chzn-用ajax和codeigniter选择两个下拉列表

时间:2013-09-06 07:41:26

标签: php javascript jquery html codeigniter

需要帮助每个人为什么我的代码出错了我想做两个下拉菜单。一个下拉到主数据和第二个从数据主机下拉到子项。如果我不能使.chzn-从jquery中选择它没关系,但如果动作编辑子数据,则respone是错误的。然后我做.chzn-select但没有任何反响,这是我的代码:

/我的观点 //已加载jquery.min.js和chosen.jquery.js以及chosen.css

<script type="text/javascript">

 $(".chzn-select").chosen().change(function(){

    alert('here');
    $("#rack > option").remove();  
    var id_lantai = $("#id_lantai").val(); 
    $.ajax({
        type: "POST",
        url: "<?php echo base_url(); ?>power/get_rack_perlantai"+id_lantai, 
        success: function(rack){
            $.each(rack,function(id_rack,nama_rack){ 
                var opt = $('<option />');   
                        opt.val(id_rack);
                        opt.text(nama_rack);
                $('#rack').append(opt);
            });
        }
    })
}); 
</script>  
<tr><td>FLOOR *</td><td>:</td>
           <td>                  
                <select data-placeholder="Floor" class="chzn-select" style="width:200px;" tabindex="2" id="id_lantai" class="required" name="id_lantai" >
                <option value="" val_nm_prd="">-SELECT FLOOR -</option>
                <?php 
                foreach($id_lantai as $u){
                if($u['id_lantai']==$val){
                $selected="selected";
                }else{
                $selected="";
                }
            ?>
            <option value="<?=$u['id_lantai']?>" <?=$selected?> ><?=$u['lantai']?></option>
            <?php } ?>
            </select>
        </td> 
    </tr>  

    <tr><td>RACK *</td><td>:</td>
       <td>                  
            <select data-placeholder="Rack" class="chzn-select" style="width:200px;" tabindex="2" id="id_rack" class="required" name="id_rack" >
            <option value="" val_nm_prd="">-SELECT RACK -</option>
            <?php 

                foreach($id_rack as $u){
                if($u['id_lantai']==$vall()){
                $selected="selected";
                }else{
                $selected="";
                }
            ?>
            <option value="<?=$u['id_rack']?>" <?=$selected?> ><?=$u['nama_rack']?></option>
            <?php } ?>
            </select>
        </td> 
    </tr>    

//我的控制器

function get_rack_perlantai($idlantai)
{    
     header('Content-Type: application/x-json; charset=utf-8');

     echo(json_encode($this->power_model->get_rack($idlantai)));

} 

//我的模特

    function get_lantai() {

    $this->db->select('id_lantai, lantai');

    $query = $this->db->get('xl_lantai_server');

    $lantaivariabel = array();

    if ($query -> result()) {

     foreach ($query->result() as $lantaix) {

     $lantaivariabel[$lantaix -> id_lantai] = $lantaix -> lantai;

     } 
        return $lantaivariabel;

     }

     else 
     {

        return FALSE;

     }

} 

//Query untuk ajak lantai & rack


    function get_rack($idlantai = null)
    {

         $this->db->select('id_rack, nama_rack');

         if($idlantai != NULL){

         $this->db->where('id_lantai', $idlantai);

         }

         $query = $this->db->get('xl_rack');

         $xl_rack = array();

         if($query->result()){

         foreach ($query->result() as $rack) {

         $xl_rack[$rack->id_rack] = $rack->nama_rack;

            }

         return $xl_rack;

         }
         else

            {

         return FALSE;

            }

    }  
抱歉,我的英语不好,。:)

1 个答案:

答案 0 :(得分:0)

第一个问题是在你的ajax调用检查网址中它应该如下所示,那么你可以在你的控制器中获得传递的值,也不需要在你的ajax调用中输入“POST”,因为你没有发送任何数据。

url: "<?php echo base_url(); ?>power/get_rack_perlantai/"+id_lantai, 

在附加变量之前考虑最后一个斜杠“/”。