Я работаю над кодом для динамической установки 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 ()», но не могу их получить.
Пожалуйста, помогите.
Спасибо.
Хорошо, я думаю, что знаю, в чем проблема, задав несколько вопросов. Я полагаю, что 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))
вместо.
Чтобы решить эту проблему, мне пришлось использовать «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));
Спасибо вам всем!