找出哪个下拉菜单项应该处于活动状态的最佳方法是什么?

时间:2014-02-03 22:13:49

标签: javascript php html

我有一个页面,用户可以在其中编辑他们的信息。用户输入信息的方式之一是下拉菜单。我已经有了值,我需要在下拉菜单中将该值设置为活动选项。我知道用一堆if语句做最直接的方式:

if ($classVal == "Freshman") {
  echo "
  <select name='class'>
    <option selected>Freshman</option>
    <option>Sophomore</option>
    <option>Junior</option>
    <option>Senior</option>
  </select>
  ";
  } else if ($classVal == "Sophomore") {
    echo "
    <select name='class'>
    <option>Freshman</option>
    <option selected>Sophomore</option>
    <option>Junior</option>
    <option>Senior</option>
    </select> </p>
    ";
    } else if ($classVal == "Junior") { ... }

这种方式对我有用,但我想知道是否有更好的方法来实现这一点。

2 个答案:

答案 0 :(得分:5)

您可以像这样测试var inline:

 echo "
  <select name='class'>
    <option ".($classVal == "Freshman" ? "selected" : "").">Freshman</option>
    <option ".($classVal == "Sophomore" ? "selected" : "").">Sophomore</option>
    <option ".($classVal == "Junior" ? "selected" : "").">Junior</option>
    <option ".($classVal == "Senior" ? "selected" : "").">Senior</option>
  </select>
  ";

答案 1 :(得分:1)

    <?php
    $options = array('Freshman','Sophomore','Junior','Senior');
    ?>

    <select name='class'>
    <?php foreach($options as $op):?>
        <option<?php echo $classVal==$op?'selected':'';?>> <?php echo $op;?> </option>
    <?php endforeach;?>
    </select>