В настоящее время я настроил выпадающее меню, которое выполняет три функции:
Но теперь у меня проблема! Позвольте мне использовать этот пример, чтобы объяснить мои трудности
Теперь проблема возникает, когда пользователь пытается выбрать дату из другого месяца. Ограничение по дате по-прежнему существует! Поэтому, если я переключусь на октябрь, я могу выбирать даты только с 23 октября по 31 октября. Это неправильно, потому что я хочу выбрать даты с 1 октября по 31 октября.
Как обновить раскрывающийся список в реальном времени, чтобы обновить запись даты, когда пользователь переключится на другой месяц?
Вот код, который я использую прямо сейчас:
<label for="date"><?php echo __('Pickup Date') ?> <span>*</span></label> <?php $curr_day = date('j', strtotime('+ 48 hours')); $day = range (1, 31); $day = array_slice($day, $curr_day-1); $select = "<select name=\"day\">\n"; foreach ($day as $key => $val) { $select .= "\t<option val=\"".$key."\""; if ($key == $curr_day) { $select .= " selected=\"selected\">".$val."</option>\n"; } else { $select .= ">".$val."</option>\n"; } } $select .= "</select>"; echo $select; ?> : <?php $curr_month = date("m"); $month = array (1=>"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"); $month = array_slice($month, $curr_month-1); $select = "<select name=\"month\">\n"; foreach ($month as $key => $val) { $select .= "\t<option val=\"".$key."\""; if ($key == $curr_month) { $select .= " selected=\"selected\">".$val."</option>\n"; } else { $select .= ">".$val."</option>\n"; } } $select .= "</select>"; echo $select; ?>
Спасибо заранее!
Вы будете использовать JavaScript, чтобы сделать это эффективно, jQuery, если вы проворны.
$('select').change(function(){ updatetheselect; });
Чтобы сделать это, создайте страницу PHP, которая выводит значения в массиве json с помощью json_encode()
:
{"option1":"value"}
Затем используйте AJAX для извлечения информации и ее анализа:
$.getJSON('jsonstuff.php',{month:'august'},function(json) { json.each(function(key,value){ $('select').append('<option value="'+key+'">'+value+'</option>'); }); });
Эта функция не проверена.