0

このドロップダウン リストには、フォルダのすべてのファイルが表示され、そのうちの 1 つが選択されて使用されます。ページを読み込んだときにどのファイルが選択されているかを表示する方法はありますか? 現時点では、毎回「ファイルを選択してください」と表示されます。

<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>
4

3 に答える 3

1

ZakとNickFの回答と同様に、次を使用できます

selected="selected"

XHTML を使用する場合は、option タグに .

(ちなみに、私の新しい評判では、回答にコメントを追加することはまだ許可されていません。)

于 2008-11-04T15:25:01.853 に答える
1

SOがあなたのアプリケーションを少しずつ書いているような気がします...

とりあえず、

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

于 2008-11-04T02:32:19.387 に答える
1

選択されたファイルのオプションで「選択された」タグを使用します

最初に、投稿または取得からどのファイルが選択されているかを確認します (フォームが投稿からどのようなアクションを実行しているかは不明です.取得を想定しています)

ループで三項演算子を使用します。

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

print "<option $selected value='$file'>$file</option>\n";
于 2008-11-04T02:35:06.400 に答える