【发布时间】:2019-01-22 04:20:34
【问题描述】:
我想在我的项目中使用 AJAX 更改另一个下拉列表时更新多个下拉列表值。
假设我在treatment 表下有一些services。
对于treatment A,服务为A1,A2,A3,treatment B 服务为B1,B2,B3。
当我从下拉列表中选择 treatment A 时,另一个下拉列表会自动更新为值 A1,A2,A3...当从下拉列表中选择 treatment B 时,另一个下拉列表会自动更新为值 B1,B2,B3。
当我使用时
<select id="department_id_appointment" multiple="multiple">
@if($_SESSION['department'] != null)
@foreach($_SESSION['department'] as $data)
<option value="{{ $data->id }}">{{ $data->name }}</option>
@endforeach
@endif
数据显示正确
但是,虽然我想使用 AJAX 更新服务下拉列表值,但它什么也没显示,尽管值显示在 console log 中。
这是我的 AJAX 代码
$.ajax({
url:"{{ url('/filter_service') }}",
type: 'GET',
data: {_token :token, department_id : department_id, branch : branch},
success:function(msg){
$('#service_id_appointment option').remove();
trHTML = '';
msg.forEach(function(item){
trHTML += "<option value='"+item.id+"'>" + item.name + "</option>";
});
$('#service_id_appointment').append(trHTML);
console.log(trHTML);
}
});
要更新下拉列表的 HTML
<div class="gaps" id="select_multiple_service_id">
<p>Service</p>
<select id="service_id_appointment" multiple="multiple">
</select>
<div id="service_id_message" class="val_error"></div>
这是控制台中显示的返回数据
【问题讨论】:
-
你的 ajax 有返回什么吗?
-
是的,它返回控制台中显示的值...但未显示在前端下拉列表中
-
如果它返回你想要或期望的,那么它很可能是一个 javascript / jquery 问题..
-
是的……还没有找到解决办法……
-
查看
msg中返回给 js 的内容可能很有用,你能告诉我们吗?或者生成返回值的 PHP 代码