【发布时间】:2018-01-31 15:46:26
【问题描述】:
我正在使用下面的代码,我的问题是当我第一次选择时,位置列表没有加载。当我选择第二个项目时,子列表中的第一个项目会被填充。如果我选择第三个,则会填充第二个子项。
我确定我在某个地方犯了一个愚蠢的错误。
<div class="form-group">
<div class="row">
<div class="col-xs-12 col-sm-5 col-md-5">
<label for="">SELECT CLIENT</label>
<select type="search" id="myarray" class="select2-select req selectpicker form-control" data-required="1" data-max-options="1" data-live-search="true" multiple="" name="myarray[]" title="Select a Client">
<?php echo $Clients; ?>
</select>
</div>
</div>
</div>
<script>
jQuery(".select2-select").change(function() {
var selected = $(this).val();
$(".selectpicker").selectpicker();
$.ajax({
url: "<?php echo base_url(); ?>login/getDataFromLocation",
data: {
type: 'select',
selected: selected
},
type: 'post',
success: function(output) {
if (output) {
//$('#append').append(output);
$(".selectpicker").selectpicker();
$('#multiple').selectpicker('refresh').empty().append(output);
}
}
});
});
</script>
<div class="form-group">
<div class="row">
<div class="form-group col-md-5">
<label for="multiple">LOCATION</label>
<select id="multiple" class="form-control req selectpicker select2-select" data-required="1" name="Location[]" title="Select a Location" multiple></select>
</div>
</div>
</div>
【问题讨论】:
-
我们可以提供一些示例数据吗?什么是 ?
-
我的假设是您的
select启用了multiple。这意味着当您请求$(this).val();时,它将返回一个数组,而不是一个值。这意味着您正在为服务器提供一些相当奇怪的值。 -
一些示例:客户端 1、客户端 2、客户端 3、客户端 4,每个客户端具有不同的位置,位置 1、位置 A 等。
-
我们真的需要一个示例请求。哪些数据EXACTLY 发送到服务器,哪些数据EXACTLY 发回?每一个都如你所愿吗?即您是否发送了您希望发送的值?您是否收到了您期望收到的值?
-
客户端 1 位置 A 位置 B 位置 C 客户端 2 位置 1 位置 2 位置 3 客户端 3 位置 12 位置 34 位置 45 客户端 4 位置 A1 位置 B1 位置 C1 -- 显示客户端 x