在下拉列表中添加空白行?

时间:2016-02-06 11:49:57

标签: php

我有一个php函数,它返回一个文件夹(图像文件)的文件列表,我想知道我是否可以得到一个"空白"条目添加到下拉列表中(所以我可以"不选择"列表中的内容),以及它在文件夹中找到的文件,这是函数。

<?php 

$folder = '../Pic/Upload'; 

echo '<select name="sabpic">'."\n". 
     dropdown(image_filenames($folder), @$_POST['image']). 
     '</select>'."\n".'</br></br>'; 

function image_filenames($dir) 
{ 
    $handle = @opendir($dir) 
        or die("I cannot open the directory '<b>$dir</b>' for reading."); 
    $images = array(); 
    while (false !== ($file = readdir($handle))) 
    { 
        if (eregi('\.(jpg|gif|png)$', $file)) 
        { 
            $images[] = $file; 
        } 
    } 
    closedir($handle); 
    return $images; 
} 

function dropdown($options_array, $selected = null) 
{ 
global $sabpicname;
    $return = null; 
    foreach($options_array as $option) 
    { 
        $return .= '<option value="'.$option.'"'. 
                   (($option == $sabpicname) ? ' selected="selected"' : null ). 
                   '>'.$option.'</option>'."\n"; 
    } 
    return $return; 
} 

?>

所以目前我会得到

的下拉列表
  • Pic1.jpg
  • Pic2.jpg

我想

  • &#34;空白行&#34;
  • Pic1.jpg
  • Pic2.jpg

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

根据您的代码,只需将$return = null;替换为$return = "<option></option>";

即可
function dropdown($options_array, $selected = null) 
{ 
global $sabpicname;
    $return = "<option></option>"; 
    foreach($options_array as $option) 
    { 
        $return .= '<option value="'.$option.'"'. 
                   (($option == $sabpicname) ? ' selected="selected"' : null ). 
                   '>'.$option.'</option>'."\n"; 
    } 
    return $return; 
} 

答案 1 :(得分:1)

您可以添加这样的初始选项(我认为),该选项最初将显示“请选择”,但在做出选择后不再可选择

function dropdown($options_array, $selected = null) { 
    global $sabpicname;
  $return = "<option disabled=true hidden='hidden'>Please Select";

  foreach($options_array as $option) { 
      $return .= '<option value="'.$option.'"'. 
                 (($option == $sabpicname) ? ' selected="selected"' : null ). 
                 '>'.$option.'</option>'."\n"; 
  } 
  return $return; 
}