Codeignitor中的拼接方法下拉

时间:2019-07-06 10:28:20

标签: 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

所以我要实现的是将Randburg作为一种选择,将Greenside作为另一种选择,将Rosebank作为另一种选择。

1 个答案:

答案 0 :(得分:1)

您的数组中有不同类型的字符串,因此对于循环中的此特定问题,应爆炸这样的字符串,并展开另一个循环以打印分隔的字符串

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

                     };?>