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"}]