【问题标题】:How to print selected dropdown value? [duplicate]如何打印选定的下拉值? [复制]
【发布时间】:2019-09-03 12:51:02
【问题描述】:

我们有一个报价回复表格,我们希望向客户展示这项服务将在最短和最长的时间内完成。为此,我们做了两个下拉菜单。

  1. 最短持续时间
  2. 最长持续时间。

当两个选择的值都被发送时,它如何在答案中显示?

  <form method="post" class="quotation-reply default-hidden" id="editquotationreply">
  <div class="clearfix row input_fields_wrap">
    <div class="col-md-6">
        <div class="form-group">

if($time_duration = 15){
                $timeduration = array(15 => esc_html__('15 Mins', 'service-finder'),30 => esc_html__('30 Mins', 'service-finder'),45 => esc_html__('45 Mins', 'service-finder'),60 => esc_html__('1 Hr', 'service-finder'),75 => esc_html__('1 Hr 15 Mins', 'service-finder'),90 => esc_html__('1 Hr 30 Mins', 'service-finder'),105 => esc_html__('1 Hr 45 Mins', 'service-finder'),120 => esc_html__('2 Hrs', 'service-finder'),150 => esc_html__('2 Hrs 30 Mins', 'service-finder'),180 => esc_html__('3 Hrs', 'service-finder'),210 => esc_html__('3 Hr 30 Mins', 'service-finder'),240 => esc_html__('4 Hrs', 'service-finder'));
            }
                ?>

<select class="sf-select-box form-control sf-form-control" name="min_timeduration" data-live-search="true" title="<?php esc_html_e('Time Duration', 'service-finder'); ?>">
                <option value=""><?php esc_html_e('Max Time Duration', 'service-finder'); ?></option>
                <?php
                if(!empty($timeduration)){
                    foreach($timeduration as $key => $value){
                        echo '<option value="'.esc_attr($key).'">'.esc_html($value).'</option>';    
                    }
                }
                ?>
              </select>  </div>
            </div>

【问题讨论】:

  • 最小时间码在哪里?

标签: php html forms


【解决方案1】:

您的页面是否在提交表单后重新加载,然后选择的值应显示为已选择?在这种情况下,您可以使用 PHP 的 $_SESSION 变量来存储选定的 $key,并在 foreach 循环中检查该变量并在相应的选项中添加一个 `selected'。

session_start();
if(!empty($_POST['min_timeduration'])) {
    $_SESSION['selected']  = $_POST['min_timeduration'];
}
$timeduration = [...];
foreach($timeduration as $key => $value) {
    echo '<option value="' . esc_attr($key) .'"';
    if(!empty($_SESSION['selected']) && $_SESSION['selected'] == $key) {
        echo ' selected ';
    }
    echo '>'. esc_html($value) .'</option>';    
}  

【讨论】:

  • 如您所说,我们尝试过但没有成功。显示错误。你会向我解释详细的正确代码吗?是的,提交表单后页面重新加载。请看截图:prntscr.com/nbcy0hprntscr.com/nbcyei
  • 您在第二个屏幕截图中收到的错误消息是什么?它看起来对我来说不是有效的代码(根据您的语法突出显示)。
  • 先生,我们正在查看此错误。 (语法错误,意外的 T_STRING )请帮助我们建立正确的代码。
  • 看起来你的整个 HTML 被回显并封装在 '.我对数组索引使用相同的字符。将您的封装更改为“或将我的数组索引表示法更改为”。提示:查看编辑器中的突出显示,它表明并非所有内容都被正确识别为 PHP。
  • 先生,我们不明白您在说什么。请向我解释代码示例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 2021-01-14
  • 2018-10-14
  • 2020-06-27
  • 1970-01-01
相关资源
最近更新 更多