Javascript 通过另一个选择填充下拉列表

Javascript 通过另一个选择填充下拉列表,javascript,php,ajax,Javascript,Php,Ajax,我创造了这个: User: <select id="sel_depart"> <option value="0">All users</option> <?php $all_users = User::getUsersAdmin(); foreach($all_users as $value){ ?> <option value="<?php echo $value->id; ?>" <

我创造了这个:

User: <select id="sel_depart">
    <option value="0">All users</option>    
<?php
$all_users = User::getUsersAdmin();
foreach($all_users as $value){ ?>
        <option value="<?php echo $value->id; ?>" <?php if($user_id == $value->id) echo "selected" ?>><?php echo $value->username; ?></option>
<?php } ?> 
</select>

Locker: <select id="sel_user">
    <option value="0">All lockers</option>  
</select>

怎么了?当我从下拉列表中选择一个用户时,locker下拉列表中没有填充选项。

请尝试一下,它应该可以工作

$document.readyfunction{ $sel_.changefunction{ var user_id=2; $.ajax{ url:'admin/get_lockers.php', 键入:“GET”, 数据:{user\u id:user\u id}, 数据类型:“json”, 成功:功能响应{ //添加此行并重试 response=JSON.parseJSON.stringifyresponse; var len=响应长度; $'sel_user'.find'option'.remove.end;
对于var i=0;iI在控制台中没有任何错误,但在发布到get_lockers.php后的选项卡响应中,我只有[],当我转到get_lockers.php?user_id=2时,它会显示[{id:2,name:edees},{id:3,name:20171114_154920}]你检查了sel_user元素了吗?那不是工作伙伴,当我从第一个下拉菜单中选择选项ajax don't make Post时,你的ajax请求出现了问题。你可以运行这个snip并看到它工作。
$(document).ready(function(){

    $("#sel_depart").change(function(){
        var user_id = $(this).val();

        $.ajax({
            url: 'admin/get_lockers.php',
            type: 'post',
            data: {user_id:user_id},
            dataType: 'json',
            success:function(response){

                var len = response.length;

                $("#sel_user").empty();
                for( var i = 0; i<len; i++){
                    var id = response[i]['id'];
                    var name = response[i]['name'];

                    $("#sel_user").append("<option value='"+id+"'>"+name+"</option>");

                }
            }
        });
    });

});
[{"id":2,"name":"edees"},{"id":3,"name":"20171114_154920"}]