我的数据库中存储了一些位置,并用逗号分隔,并且我有一个获取该信息的下拉列表。用户选择一个位置以根据所选位置填充另一个下拉列表。
这是我的 php 代码:
<label for="select-service">
<strong>Enter a Location:</strong>
</label>
<select class="form-control" id="select-location" class="col-xs-12 col-sm-4 form-control" required>
<option value="">Select Location</option>
<?php
foreach($appointment_locations as $location) {
?>
<option value="<?php echo $location->notes ?>"><?php echo $location->notes ?></option>
<?php
}
?>
</select>
这是我的 JavaScript 代码:
$(document).ready(function() {
FrontendBook.initialize(true, GlobalVariables.manageMode);
GeneralFunctions.enableLanguageSelection($('#select-language'));
$('#select-provider').html('');
$('#select-location').change(function() {
$('#select-provider').html('');
var selected_location = $(this).val();
$.ajax({
url: '<?php echo site_url('appointments/getProviderByLocation'); ?>',
type: 'POST',
data: {
csrfToken: GlobalVariables.csrfToken,
'selected_location': selected_location,
},
dataType: 'json',
success: function(data) {
var options = '';
$.each(data, function(key,val) {
console.log(val.id);
options += '<option value="'+val.id+'">'+val.first_name+" " +val.last_name +'</option>'
});
$('#select-provider').html(options);
}
});
});
所以我想要实现的目标是让兰德堡作为一种选择,格林赛德作为另一种选择,罗斯类克作为另一种选择。
最佳答案
您的数组中有不同类型的字符串,因此对于循环中的这个特定问题,您应该像这样分解字符串,并使用另一个循环来打印分隔的字符串
<select class="form-control" id="select-location" class="col-xs-12 col-sm-4 form-control" required>
<option value="">Select Location</option>
<?php
foreach($appointment_locations as $location) {
$LocationsArray = explode(",", $location->notes);
foreach($LocationsArray as $singleLocation):
?>
<option value="<?=$singleLocation ?>"><?=$singleLocation ?></option>
<? endforeach;
};?>
关于javascript - codeigniter 下拉菜单中的拼接方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56913221/