JQUERY: Как зациклить Массив disableTimeRanges из json - PullRequest
0 голосов
/ 02 декабря 2018

как вывести все индексы из массива в массив disableTimeRanges?это мой код

<input id="tanggal" type="date">
<input id="horaInicio" type="text" class="time" />

<script type="text/javascript">
        $(document).ready(function() {
        $('#tanggal').on('change', function() {
            var tanggal = $(this).val();
                if(tanggal) {
                $.ajax({
                    url: '{{url("/tanggal")}}/'+encodeURI(tanggal),
                    type: "GET",
                    dataType: "json",
                    success:function(data) {
                    $.each(data, function(key, value) {
                        $('#horaInicio').timepicker('remove').timepicker({'disableTimeRanges': [ [value['dari'], value['sampai']], ] });
                        });
                    }
                });
                }
               });
            });
    </script>

index [0]: 3:00 am, 4:00 am

index [1]: 6:00 am, 9:00 am

но мойКод просто отображает последний индекс, я хочу отобразить все мои индексы.спасибо:)

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Это потому, что вы перезаписываете свойство disableTimeRanges для каждого элемента массива.Таким образом, записывается только последний.

Чтобы исправить это, обратитесь к примеру из документации:

$('#disableTimeRangesExample').timepicker({
    'disableTimeRanges': [
        ['1am', '2am'],
        ['3am', '4:01am']
    ]
});

Итак, сначала преобразуйте данные с сервера в соответствии с этим форматом и поместите ихв новый массив.Затем просто передайте массив в свойство 'disableTimeRanges'.

Измените:

$.each(data, function(key, value) {
    $('#horaInicio').timepicker('remove').timepicker(
      {'disableTimeRanges': [[value['dari'], value['sampai']], ] });
});

Кому:

let exclusions = data.map(item=>[item.value['Dari'], item.value['sampan']]);
$('#horaInicio').timepicker('remove').timepicker(
          {'disableTimeRanges': exclusions });
0 голосов
/ 02 декабря 2018

Вам нужно извлечь '$ (' # horaInicio '). Timepicker' снаружи из цикла foreach.

Внутри foreach просто создайте массив и сделайте ссылку на него timepicker.

...