У меня есть проект, который выплескивает строку json_encode элементов даты.php вывод в массив javascript с json
выглядит так:
<input type="hidden" class="avail_dates" data-id='["12-9-2014", "7-9-2014"]' />
Я пробовал разные вещи, но из-за этого проекта он должен быть там, я не могу просто сделать вызов AJAX и вернуть json_encode материал.
Итак, мне нужно получить идентификатор данных в массив javascript как-то для datePicker.
Используя это работает, но это жестко:
var availableDates = ["9-9-2014","5-9-2014","7-9-2014"];
Использование этого не делает ничего:
var availableDatesArray = jQuery('.avail_dates').attr('data-id');
//alerting gives ["9-9-2014","5-9-2014","7-9-2014"]
Есть ли способ, чтобы преобразовать строку в массив, который работает?
Я могу изменить способ ввода данных в идентификатор данных или способ взаимодействия jquery с этим элементом, но я не могу добавить отдельный запрос ajax только для этого, он должен исходить из этого идентификатора данных ,
var availableDates = ["9-9-2014","5-9-2014","7-9-2014"];
function dates(date){
dmy = date.getDate() + "-" + (date.getMonth()+1) + "-" + date.getFullYear();
console.log(dmy+' : '+(jQuery.inArray(dmy, availableDates)));
if (jQuery.inArray(dmy, availableDates) != -1) {
return [true, "","Available"];
}
else {
return [false,"","unAvailable"];
}
return;
}
jQuery('#myDates').datepicker({
changeYear: true,
maxDate: '0',
changeMonth: true,
dateFormat: "mm/dd/yy",
yearRange: '2014:2030',
beforeShowDay: dates,
onSelect: function(dateText) {
}
});
EDIT: Если есть упоминание я уже пробовал JSON.parse. Это дает ошибку «неожиданного числа».
EDIT 2: Я добавил функцию, которую я пытаюсь передать данные для jQuery datePicker.
Похоже на: http://stackoverflow.com/questions/13272406/javascript-string-to-array-conversion – BobbyShaftoe
Я не могу воспроизвести вашу ошибку «неожиданного числа», используя 'JSON. parse'. Можете ли вы предоставить jsfiddle? –
@David, JSON.parse отлично работает здесь, используя html, показанный http://jsfiddle.net/js3qnae1/ – charlietfl