首页 文章

使用HTML和PHP在表单中动态标记为选定的选项

提问于
浏览
0

我正在创建一个表单来更新sql表中的一些条目 .

对于其中一个字段,我将有一个Select选项,必须在该字段包含的值中“选中” .

理想情况下,我会有这样的事情:

<select id="source" name="source">
    <option <?=$manual?>>MANUAL</option>
    <option <?=$etsy?>>ETSY</option>
    <option <?=$online?>>ONLINE</option>
</select>

但是我想让它变得动态,所以如果我有100个选项,我就不必编写100个变量,而只需用“selected”这个词加载相应的变量名 .

什么是实现这一目标的最佳方式?

2 回答

  • 0

    尝试这样的事情:

    <select id="source" name="source">
      <?php 
             $Attrib = 'selected="';
            if ($order['source'] === 'value'){
              $Attrib.= 'selected"';
            }
            else{
             $Attrib .= 'false"';
            }
      ?>
      <option name="" <?=$Attrib;?>>NAMEHERE</option>
    

    更不用说,你正在为 value 分配( $order['source'] ),所以这总是等于"value"

  • 2

    也许你打算做点什么

    <option <?= ($order['source']==='optionname')?'selected':'' ?> > optionname </option>
    

    将选项推送到某个数组会更好 . 哦,这就是你的意思 .

    这就是我会怎么做的

    <?php 
       $checkedoption = 'flytothemoon'; //the checked option
       $options = array('opt1', 'opt2', 'opt3', 'flytothemoon');
       foreach($options as $option):?>
         <option <?= ($order['source']===$checkedoption)?'selected':'' ?> > $option </option>
       <?php endforeach;?>
    

相关问题