Мой код:
<label>Year: </label>
<?php
print '<select>';
$start_year = date('1910');
for ($y = $start_year; $y <= ($start_year + 104); $y++) {
print "<option value=\"$y\">$y</option>";
}
print '</select>';
?>
и наш профессор хочет, чтобы мы включили его в код, подобный следующему:
echo "<option value=\"$option\"";
if ($messageType == $option){
//make it sticky
echo ' selected="selected"';
}
echo ">$option</option>";
однако этот код не работает с моим кодом, и я не могу, чтобы он стал значением по умолчанию / sticky.
В вашем для цикла:
for ($y = $start_year; $y <= ($start_year + 104); $y++) {
($y== $option) ? echo '<option value="'.$y.'" selected="selected">'.$y.'</option>' : echo '<option value="'.$y.'">'.$y.'</option>';
}
Я предположил, что значение $option
это год доступно в вашем для цикла.
Я ненавижу публиковать полный ответ на этот вопрос, но пока не могу комментировать … Учитывая, что ваша проблема «не может показаться, что она становится значением по умолчанию» Мои деньги очень просты
echo ' selected="selected"';
должно быть просто
echo ' selected';
http://www.w3schools.com/tags/att_option_selected.asp
но просмотрите исходный код на веб-странице, которую он генерирует, и убедитесь, что HTML генерируется так, как ожидалось, в противном случае