【问题标题】:PHP variable to select optionPHP 变量选择选项
【发布时间】:2014-04-26 23:11:27
【问题描述】:

我有一个 php 变量 $valuable='bottomValue'

表单内的选择下拉菜单在提交时返回到同一页面

<form action='' method='post'>
<select>
<option value='topValue'>One</option>
<option value='midValue'>Two</option>
<option value='bottomValue'>Three</option>
</select>
<input name='theSubmit' type='submit' />
</form>

根据$valuable 的值,我如何更改所选选项以匹配。

例如在页面加载时,因为变量的默认值 = 'bottomValue' 选项三会被选中

【问题讨论】:

    标签: php forms


    【解决方案1】:

    如果您不想使用其他技术,例如 javascript,则必须检查每个选项的值,如下所示:

    <option value='bottomValue' <?php echo ($valuable == 'bottomValue')?'selected':''; ?>>Three</option>
    

    【讨论】:

      【解决方案2】:

      你需要这样做:

      <form action='' method='post'>
      <select>
      <option value='topValue'>One</option>
      <option value='midValue'>Two</option>
      <option value='bottomValue' 
            <?php echo $valuable == 'bottomValue' ? 'selected' : '' ?>
            >Three</option>
      </select>
      <input name='theSubmit' type='submit' />
      </form>
      

      【讨论】:

        【解决方案3】:

        首先将您的值设为数组,然后执行此操作

        $values = array (
        1 => 'topValue',
        2 => 'middleValue',
        3=> 'bottomValue',
        );
        

        然后

         <form action='' method='post'>
                   <select>                                                         
        
        
            foreach( $values as $name => $v)
            {
              if( $name == $valuable )
                   {
            echo '<option'.' value="'.$v.'"'.' selected="selected"'.'>'.$v.'</option>';
                    }
            else
                {
            echo '<option'.' value="'.$v.'"'.'>'.$v.'</option>';
                    }
                 }
        
          </select>
        

        这个方法最好的事情你不需要每个选项的内联 php 代码:)

        【讨论】:

          【解决方案4】:
          $valueable = 'bottomValue';
          
          // array of the options you want to display in your select dropdown
          $options = array(
              'topValue' => 'One',
              'midValue' => 'Two',
              'bottomValue' => 'Three'
          );
          
          $html = '<form action='' method='post'>';
          $html .= '<select>';
          foreach($options as $value => $display){
              if($value == $valuable){
                  $html .= '<option value="'.$value.'" selected>'.$display.'</option>';
              }else{
                  $html .= '<option value="'.$value.'">'.$display.'</option>';
              }
          }
          
          $html .= '</select>';
          $html .= '<input name="theSubmit" type="submit" />';
          $html .= '</form>';
          
          echo $html;
          

          【讨论】:

            猜你喜欢
            • 2014-05-15
            • 2015-11-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-04-22
            • 2012-07-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多