【问题标题】:how to set select box default value in php如何在php中设置选择框默认值
【发布时间】:2013-05-22 03:37:56
【问题描述】:
<?php
$options = array('volvo'=>'Volvo', 'saab' =>'Saab', 'audi' => 'Audi' );
echo "<select name='sss'>\n";
foreach ($options as $k=>$v) echo "<option value='$v' >$k</option>\n";
echo "</select>\n";
?>

问题:

如何将“audi”作为默认值而不是“volvo”?我知道我们可以在 html 中设置 'selected',但是我怎么能在这个 php 脚本中做到呢?

【问题讨论】:

  • 为什么不把Audi放在数组的开头而不是Volvo

标签: php


【解决方案1】:

您可以检测默认值是否是您想要的并插入您已经识别的 HTML:

$defaultVal = 'Audi';
foreach ($options as $k=>$v) {
    $selected = ($v == $defaultVal) ? " selected='selected'" : "";
    echo "<option value='$v'$selected>$k</option>\n";
}

【讨论】:

    【解决方案2】:

    我通常会创建一个辅助函数来输出选择

    function showSelect($name, $options, $selected, $attr = array()){
        $str = "<select name='".$name.'"';
        foreach($attr as $name=>$val){
            $str.= " ".$name."='".$val."'";
        }
        $str.=">";
        foreach($options as $k=>$val){
            $str.= "<option value='".$val."'".($val==$selected?" selected='selected'":"").">".$k.'</option>';
        }
        $str.="</select>";
        return $str;
    }
    

    然后调用只是

    echo showSelect("sss", $options, "audi", array("id"=>"manufacturer"));
    

    【讨论】:

      【解决方案3】:
      Try this:
      
      $options = array('volvo'=>'Volvo', 'saab' =>'Saab', 'audi' => 'Audi' );
      $select_value = 'audi';
      
      <select id="test" name="test">
      <?php foreach($option as $row) {?>
          <option value="<?php echo $row?>" <?php echo (strcmp($select_value,$row)==0) ?"selected='selected":'' ?>><?php echo $row?></option>
        <?php } ?>
      </select>
      

      【讨论】:

        猜你喜欢
        • 2013-08-25
        • 1970-01-01
        • 2021-03-09
        • 2020-01-21
        • 2020-06-14
        • 1970-01-01
        • 2021-09-27
        • 1970-01-01
        • 2021-04-26
        相关资源
        最近更新 更多