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 请求没有做任何事情,所以我什至没有到达那部分。有人可以帮我找出问题所在吗?我已经测试了控制器和模型的功能并且它们可以工作。你能告诉我如何填写第二个下拉菜单的选项吗?非常感谢!

4

1 回答 1

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>

该函数仅从选定的小岛 (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);
    }
于 2012-12-26T19:23:29.993 回答