html 选择选项 SELECTED

新手上路,请多包涵

我在我的 php

 $sel = "
    <option> one </option>
    <option> two </option>
    <option> thre </option>
    <option> four </option>
";

假设我有一个内联 URL = site.php?sel=one

如果我没有将这些选项保存在变量中,我可以这样做以使其中一个选项成为 SELECTED 值等于 $_GET[sel]

 <option <?php if($_GET[sel] == 'one') echo"selected"; ?> > one </option>
<option <?php if($_GET[sel] == 'two') echo"selected"; ?> > two </option>
<option <?php if($_GET[sel] == 'three') echo"selected"; ?> > three </option>
<option <?php if($_GET[sel] == 'four') echo"selected"; ?> > four </option>

但问题是,我需要将这些选项保存在一个变量中,因为我有很多选项,而且我需要多次调用该变量。

有没有办法在 value = $_GET[sel] 处选择该选项?

原文由 Sam San 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 669
2 个回答

只需使用选项数组即可查看当前选择了哪个选项。

 $options = array( 'one', 'two', 'three' );

$output = '';
for( $i=0; $i<count($options); $i++ ) {
  $output .= '<option '
             . ( $_GET['sel'] == $options[$i] ? 'selected="selected"' : '' ) . '>'
             . $options[$i]
             . '</option>';
}

旁注:我会将一个值定义为每个元素的某种 id,否则当两个选项具有相同的字符串表示形式时,您可能会遇到问题。

原文由 Sirko 发布,翻译遵循 CC BY-SA 3.0 许可协议

您可以创建一个函数,然后将其添加到每个选项字段以打印 selected=“selected”。

例子

<option value="PHP" ' . tsw_selected('PHP', $row['anchor']) . '>PHP/PDO/SQL[+]</option>
<option value="HTML" ' . tsw_selected('HTML', $row['anchor']) . '>HTML/CSS</option>

然后你的乐趣:

 function tsw_selected( $opt, $val )
{
$sel = '';
$opt = ('' != $opt ) ? $opt : 'OTHER';
if( $opt == $val ) $sel = true;
if ( $sel ) {
    return 'selected="selected"'; } else { return ''; }
}

这将回显 select=“selected” per true 和 echo “ (nothing) for false。您可以设置 $sel = false,但这并不重要。布尔检查空是否为假。

原文由 tradesouthwest 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题