2008-11-04 7 views
0

Cette liste déroulante affiche tous les fichiers d'un dossier dont l'un sera sélectionné pour utilisation. Existe-t-il un moyen de montrer quel fichier est sélectionné lorsque vous chargez la page? En ce moment, il est dit "sélectionner un fichier" à chaque fois.Entrée sélectionnée dans un menu déroulant Sélectionner un élément de formulaire HTML

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

Répondre

1

Je reçois le sentiment est tellement écrit votre demande pour vous peu à peu ...

De toute façon,

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

1

utiliser la balise "sélectionnée" sur option pour le fichier sélectionné

d'abord vérifier pour voir quel fichier est sélectionné par la poste ou obtenir (on ne sait pas quelle action la forme prend de votre message .. get supposant)

utiliser l'opérateur ternaire dans votre boucle:

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

print "<option $selected value='$file'>$file</option>\n"; 
1

Et de même à Zak et les réponses de nickf, vous pouvez utiliser

selected="selected" 

dans votre balise d'option si vous aimez aller pour XHTML.

(D'un côté, ma nouvelle réputation ne me permet pas encore d'ajouter des commentaires aux réponses.)

Questions connexes