<select> html and php
Код:
$start="news";
echo "<select name='modules' style='width:200px'>";
$handle = opendir("modules");
while ($file = readdir($handle)) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
echo "<select name='modules' style='width:200px'>";
$handle = opendir("modules");
while ($file = readdir($handle)) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
вот результатом выполнения должен быть список всех каталогов папки modules и активная та которая совпала с переменой $start, но не так то было активный тот каталог который первый заносился в <select>
подскажите что не так??
Select Tag - http://www.w3schools.com/tags/tag_select.asp
Option Tag - http://www.w3schools.com/tags/tag_option.asp
Возможно, имеет смысл написать selected="selected".
Да, и посмотрите в исходник результата. Есть ли там хоть один "selected"?
Цитата: Robinnovich
Здравствуйте уважаемые вот не могу понять что не так. Есть код:
вот результатом выполнения должен быть список всех каталогов папки modules и активная та которая совпала с переменой $start, но не так то было активный тот каталог который первый заносился в <select>
подскажите что не так??
Код:
$start="news";
echo "<select name='modules' style='width:200px'>";
$handle = opendir("modules");
while ($file = readdir($handle)) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
echo "<select name='modules' style='width:200px'>";
$handle = opendir("modules");
while ($file = readdir($handle)) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
вот результатом выполнения должен быть список всех каталогов папки modules и активная та которая совпала с переменой $start, но не так то было активный тот каталог который первый заносился в <select>
подскажите что не так??
Ну, во-первых, неправильно производится чтение содержимого каталога:
Код:
<?php
....
while(false!==($file=readdir($dir))){
...
}
...
?>
....
while(false!==($file=readdir($dir))){
...
}
...
?>
Ну, а для решения данной проблемы, необходимо ввести в начало списка пустой контейнер <option></option>
Во так правильно:
Код:
<?php
$start="news";
echo "<select name='modules' style='width:200px'>";
echo "<option></option>";
$handle = opendir("modules");
while (false!==($file=readdir($handle))) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
?>
$start="news";
echo "<select name='modules' style='width:200px'>";
echo "<option></option>";
$handle = opendir("modules");
while (false!==($file=readdir($handle))) {
if (!preg_match("/\./", $file)) {
if ($file == $start) {
echo "<option value=\"$file\" selected>".$file."</option>";
} else {
echo "<option value=\"$file\">".$file."</option>";
}
}
}
closedir($handle);
echo "</select>";
?>
чесслово не уверен на 100% что пустой опшн там нужен ))))
Ну не знаю, может причина и не в нём, но факт в том, что без него не работает :)
w3schools.com и спецификацию w3c
Повторюсь, смотрите примеры на