Выбранная запись в раскрывающемся списке Выберите элемент формы HTML - PullRequest
0 голосов
/ 04 ноября 2008

Это выпадающий список, отображающий все файлы из папки, один из которых будет выбран для использования. Есть ли способ показать, какой файл выбран при загрузке страницы? На данный момент он говорит «выберите файл» каждый раз.

<select name="image" type="text" class="box" id="image" value="<?=$image;?>">
<option value='empty'>Select a file</option> 
<?php

$dirname = "images/";
$images = scandir($dirname);

// This is how you sort an array, see http://php.net/sort
natsort($images);

// There's no need to use a directory handler, just loop through your $images array.
foreach ($images as $file) {
    if (substr($file, -4) == ".gif") {
        print "<option value='$file'>$file</option>\n"; }
    }
?>
</select>

Ответы [ 3 ]

1 голос
/ 04 ноября 2008

используйте выбранный тег для выбранного файла

.

сначала проверьте, какой файл выбран из сообщения или получен (неясно, какое действие предпринимает форма из вашего сообщения ... при условии получения)

используйте троичный оператор в вашем цикле:

$selected = $_GET['image'] == $file ? "selected" : "";

print "<option $selected value='$file'>$file</option>\n";
1 голос
/ 04 ноября 2008

И, аналогично ответам Зака ​​и НикаФ, вы можете использовать

selected="selected"

в вашем теге option, если вы хотите перейти на XHTML.

(Кстати, моя новая репутация не позволяет мне добавлять комментарии к ответам.)

1 голос
/ 04 ноября 2008

У меня такое чувство, что ТАК пишет ваше заявление для вас постепенно ...

в любом случае,

<?php
foreach ($images as $file) {
    if (substr($file, -4) == ".gif") {
        print "<option value='$file'"
            . ($file == $image ? " selected" : "")
            . ">$file</option>\n";
    }
}
?>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...