【问题标题】:Leave default option value empty in html select在 html 选择中将默认选项值保留为空
【发布时间】:2018-03-16 21:01:22
【问题描述】:

我有一个 html 选择,其中填充了来自使用 foreach 循环的查询的 DATA。它看起来像这样

$client = $wpdb->get_results("SELECT string FROM `file` WHERE 
`code` = 002 AND `status` = 2");

echo 'Filter by client: ';
  echo '<select name="client_list">';
  foreach ($client as $key => $row) {
    $value = $row->string;
    echo 
  '<option value='.$value.'>'
  .$value. '</option>';
  }
  $client = $_GET['client_list'];
  echo '</select>';

它用作过滤器以根据所选选项值显示数据。它过滤的表看起来像这样

   |client  | file              | 
   |------  |-------------------|
   |client1 | file00000         |
   |client2 | file00002         |

现在我想将 html 的第一个选项值(默认值)设为空。我该怎么做?

【问题讨论】:

    标签: html html-select default-value


    【解决方案1】:

    你可以用这个

          $client = $wpdb->get_results("SELECT string FROM `file` WHERE 
         `code` = 002 AND `status` = 2");
    
        echo 'Filter by client: ';
        echo '<select name="client_list"><option value=""></option>';
        foreach ($client as $key => $row) {
            $value = $row->string;
            echo 
           '<option value='.$value.'>'
            .$value. '</option>';
        }
        $client = $_GET['client_list'];
        echo '</select>';
    

    【讨论】:

    • 这给出了两个空值。您缺少 / 在选项中。
    • @R1ddler 你写了 “这给出了两个空值。你缺少 / 在选项中” - 所以我对那个评论以及它是否确实感到困惑完全解决问题,与你的新问题无关stackoverflow.com/q/46588904/1415724
    • 如果你省略了关闭 / in 选项,那会给出两个空值。这解决了这个问题,我只需要添加 / 到选项就可以了。我的新问题与这个不同,与这个无关。
    【解决方案2】:

    先添加一个空选项:

    echo '<select name="client_list"><option value=""></option>';
    

    如果client_list 为空,则在提交时你知道有人没有选择任何东西。

    【讨论】:

    • 这可以创建一个空值,但是当我点击提交时,它没有给出预期的结果。当我使用空客户列表提交时,我想显示一个干净的未过滤查询,但它没有给我任何结果。
    • 这是另一个问题而不是原始问题。如果 $client = $_GET['client_list']; 为空,则不应在查询中使用它
    猜你喜欢
    • 2011-12-10
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2016-02-20
    • 2014-03-09
    • 1970-01-01
    相关资源
    最近更新 更多