【问题标题】:Auto select the data in <select> <options> tag自动选择 <select> <options> 标签中的数据
【发布时间】:2017-03-30 11:02:47
【问题描述】:

我有一个用户填写并点击“保存并下一步”的表单,这会将他们带到另一个页面,用户可以在该页面上传图片并点击“最终提交”。他们还可以返回上一页编辑数据。

那时,他之前填写的所有数据都应该显示在文本框上。我已经使用会话变量来存储数据并显示它。

我卡在下拉框中。

 <select name="District">
      <option value="East">East</option>
      <option value="West">West</option>
      <option value="North">North</option>
      <option value="South">South</option>
 </select>

当用户提交时,我将选定的值存储在 Session $_SESSION['District'] = $_POST['District']; 中,当用户点击返回上一页时,我需要在下拉列表中自动选择该选项值。

我怎样才能做到这一点?

【问题讨论】:

    标签: php html session


    【解决方案1】:

    使用array 会更容易。

    <?php
    $options = array(
        'East', 'West', 'North', 'South',
    );
    ?>
    <select name="District">
        <?php foreach($options as $option) { ?>
            <option value="<?php echo $option; ?>" <?php echo (isset($_SESSION['District']) && $_SESSION['District'] == $option) ? "selected" : "" ?>><?php echo $option; ?></option>
        <?php } ?>
    </select>
    

    【讨论】:

    • 所有答案都是正确的,您的答案更容易快速。竖起大拇指
    • 谢谢哥们...这是最简单的正确!
    【解决方案2】:

    检查会话中的值,如果匹配则设置选择的属性

    <select name="District">
          <option <?php if (!empty($_POST['District']) && $_POST['District'] == 'East'){ echo 'selected'; }?> value="East">East</option>
          <option <?php if (!empty($_POST['District']) && $_POST['District'] == 'West'){ echo 'selected'; }?> value="West">West</option>
          <option  <?php if (!empty($_POST['District']) && $_POST['District'] == 'North'){ echo 'selected'; }?> value="North">North</option>
          <option <?php if (!empty($_POST['District']) && $_POST['District'] == 'South'){ echo 'selected'; }?> value="South">South</option>
     </select>
    

    【讨论】:

      【解决方案3】:

      只需根据会话中存储的值检查所选值。 您的选项将如下所示:

      <option value="East" <?php echo ($_SESSION['District']=="East" ? "selected" : ""; ?>>East</option>
      

      正确的会被选中

      【讨论】:

        【解决方案4】:
        <select name="District">
            <option value="East" <?php if($_SESSION['District'] == "East"):?>selected="selected"<?php endif; ?>>East</option>
            ... Repeat with all options ...
        

        【讨论】:

          【解决方案5】:

          使用下面的代码:

          <select name="District">
                <option value="East" <?php echo ($_SESSION['District'] == "East") ? "selected" : "" ?>>East</option>
                <option value="West" <?php echo ($_SESSION['District'] == "West") ? "selected" : "" ?>>West</option>
                <option value="North" <?php echo ($_SESSION['District'] == "North") ? "selected" : "" ?>>North</option>
                <option value="South" <?php echo ($_SESSION['District'] == "South") ? "selected" : "" ?>>South</option>
           </select>
          

          【讨论】:

            【解决方案6】:
            <option value="East" <?php echo isset($_SESSION['District']) && $_SESSION['District'] == 'East' ? 'selected="selected"' :'' ;?> >East</option>
            <option value="West" <?php echo isset($_SESSION['District']) && $_SESSION['District'] == 'West' ? 'selected="selected"' :'' ;?>>West</option>
            <option value="North" <?php echo isset($_SESSION['District']) && $_SESSION['District'] == 'North' ? 'selected="selected"' :'' ;?>>North</option>
            <option value="South" <?php echo isset($_SESSION['District']) && $_SESSION['District'] == 'South' ? 'selected="selected"' :'' ;?>>South</option>
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-10-28
              • 2019-02-28
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多