Метод сплайсинга в выпадающем списке - PullRequest
0 голосов
/ 06 июля 2019

У меня есть несколько местоположений, которые хранятся в моей базе данных, разделенных запятой, и у меня есть раскрывающийся список, который получает эту информацию, и пользователь выбирает местоположение, и он заполняет другой раскрывающийся список в зависимости от выбранного местоположения пользователя.

Вот мой 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

Итак, чего я хочу добиться, так это иметь Рэндбург в качестве одного варианта, Гринсайд в качестве другого варианта и Rosebank в качестве другого варианта.

1 Ответ

1 голос
/ 06 июля 2019

У вас есть строка другого типа в вашем массиве, поэтому для этой конкретной проблемы в вашем цикле вы должны разбить вашу строку, как этот, и другой цикл, чтобы напечатать разделенную строку

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

                     };?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...