javascript - codeigniter 下拉菜单中的拼接方法

标签 javascript php codeigniter

我的数据库中存储了一些位置,并用逗号分隔,并且我有一个获取该信息的下拉列表。用户选择一个位置以根据所选位置填充另一个下拉列表。

这是我的 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);
            }
        });
    });

这是当前位置的屏幕截图: Location drop down

所以我想要实现的目标是让兰德堡作为一种选择,格林赛德作为另一种选择,罗斯类克作为另一种选择。

最佳答案

您的数组中有不同类型的字符串,因此对于循环中的这个特定问题,您应该像这样分解字符串,并使用另一个循环来打印分隔的字符串

 <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/

相关文章:

javascript - 未捕获的异常 : ReferenceError: debug is not defined

javascript - 如何将元素的颜色从一种颜色动画化为另一种颜色?

php - 如何在php中创建动态json?

PHP如何将函数中的对象var_dump写入数据库?

Javascript 过渡叠加和不透明度

javascript - 如何通过上下文菜单将消息从 Chrome 扩展后台脚本传递到 JavaScript 中的内容脚本?

PHP数据库查询显示在html中

php - 使用元数据存储和检索文件的最佳方法

php - 从文本文件php中删除行

php - MySQL 触发器每次更新都会添加两行