3
<script type="text/javascript">
    $(document).ready(function () {
        $("#select-dept").change(function () {
            var id = $("#select-dept").val();
            $.ajax({
                type: "POST",
                url: "<?=base_url()?>.index.php/sms/get_dept_employee",
                //url: baseurl + 'sms/get_dept_employee',
                data: "id",
                dataType = "json",
                cache: "false",
                success: function (emp_list) {
                    $("#dept-emp").html(emp_list);
                }
            });
        });
    });
</script>

我无法将视图数据发送到控制器功能在视图中它们是带有 mysql 数据库中的部门值的选择框

<select class="select-dept" id="select-dept" name="select-dept">
    <option>Select Department</option>
    <?foreach ($departments as $dt):?>
        <option value="<?=$dt['id']?>">
            <?=$dt[ 'name']?>
        </option>
    <?endforeach;?>
</select>

当用户选择部门并且需要调用控制器函数 get_dept_employee 并且需要显示员工列表的数据网格时,我需要刷新

4

4 回答 4

13

您需要将数据选项作为对象发送

尝试这个

 .....
 url: "<?=base_url()?>.index.php/sms/get_dept_employee",
 data: {"id":id},
 dataType:"json",
 ....

id在您的控制器中获取发布的值..

$id=$this->input->post('id');
....
于 2013-08-30T09:18:09.420 回答
2
var id = $("#select-dept").val();     

 data:"id", //Here you are sending string as id

应该

     data:id, //No double quotes surrounded 
于 2013-08-30T09:11:10.897 回答
0

尝试:

data: {'id':$(this).val()},
于 2013-08-30T09:18:35.927 回答
0

我看到几个错误

使用data: {'id':id},而不是data: "id",

使用dataType:"json",而不是dataType="json",

使用cache:false而不是cache: "false",

<script type="text/javascript">
    $(document).ready(function () {

        var base_url = "<?php echo $this->config->item('base_url'); ?>";

        $("#select-dept").change(function () {

            var id = $(this).val();
            $.ajax({
                type: "POST",
                url: base_url+"index.php/sms/get_dept_employee";
                data: {'id':id},
                dataType:"json",
                cache: false
                success: function (emp_list) {
                    $("#dept-emp").html(emp_list);
                }
            });
        });
    });
</script>
于 2013-08-30T09:42:39.057 回答