Ajax передает значения в datetimepicker

Я работаю над кодом для динамической установки daysOfWeekDisabled в dateTimePicker с использованием Ajax.

У меня проблема с массивом daysOfWeekDisabled.
http://eonasdan.github.io/bootstrap-datetimepicker/Options/#daysofweekdisabled

Вот код

HTML:

<div id="show-pic" class="input-group bootstrap-timepicker">
<input id="datepicker" name="delivery_time" type="text" class="form-control input-small" placeholder="Choose a delivery time"/>
</div>

сценарий:

$.ajax({
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: [result]
});
}
});

ajax.php:

$week_day = array('0','6');
$string = implode(',', $week_day);
echo $string;

Консоль возвращает 0,6 … отлично! но только воскресенье отключено, 6 игнорируется.

Я пробовал несколько вещей, таких как «json_encode» или «join ()», но не могу их получить.

Пожалуйста, помогите.

Спасибо.

0

Решение

Хорошо, я думаю, что знаю, в чем проблема, задав несколько вопросов. Я полагаю, что php возвращает строку обратно в ваш javascript, а не массив (хотя он может выглядеть как один). Так что в использовании PHP echo json_encode($week_day);

В ответном сообщении ajax JSON.parse(result) превратить его обратно в массив. Вы можете установить dataType: json вместо этого в вызове ajax для анализа результата, когда он возвращается, но у меня иногда возникали проблемы с этим. если ты console.log(result) и вы не можете вращать массив как значения (то есть он явно не говорит Array[2] со стрелкой, чтобы закрутить вниз) это, вероятно, строка. Проверьте, что вы получаете с console.log(JSON.parse(result)) вместо.

1

Другие решения

Чтобы решить эту проблему, мне пришлось использовать «json_encode» (спасибо @fauxserious).

Итак, код сейчас.

сценарий:

  $.ajax({
dataType: 'json',
type: 'POST',
url: '../ajax.php',
success: function(result) {
console.log(result);
$('#datepicker').datetimepicker({
format: 'DD/MM/YYYY - H:mm',
minDate: new Date(),
daysOfWeekDisabled: result
});
}
});

ajax.php:

$week_day = array(0, 6);
echo(json_encode($week_day));

Спасибо вам всем!

0

По вопросам рекламы [email protected]