【问题标题】:How to display multiple values in every option tag?如何在每个选项标签中显示多个值?
【发布时间】:2017-07-12 01:20:05
【问题描述】:

我试图在每个选项标签中显示多个值。我在这里阅读了一些问题并回答了与我遇到的相同问题,例如this。但这对我不起作用。 option标签的数据会用mysql动态创建。

如何解决这个问题?提前致谢!

例如

<option value="data 1,data 2, data 3....">Text 1</option>
<option value="data 6,data 7, data 8....">Text 2</option>

我现在的表格:

$results_streets = $wpdb->get_results('SELECT DISTINCT streets,stores FROM table WHERE streets IN ("Street 1") ORDER BY streets ASC', OBJECT);

<form action="" name="formName">
<div>
<select>
    <option name="default" class="filter_by" value="Select by Street">Select by Street</option>
    <?php
    foreach($results_streets as $option){
        if(isset($_POST['streets_list']) && $_POST['streets_list'] == $option->streets)
            echo '<option name="streets_list" class="filter_by" selected value="'. $option->stores .'">'. $option->streets .'</option>';
     };
    ?>
</select>
</div>
<input type="submit" value="Submit"/>
</form>

【问题讨论】:

  • 试试这样:&lt;option values="data 1:data 2: data 3:...."&gt;Text 1&lt;/option&gt;
  • 那么,“但它在我这边不起作用” 是什么意思?如果您向我们展示您是如何尝试实施它的,我们或许可以帮助您解决问题。
  • @prakashtank,数据是用mysql动态生成的
  • @MagnusEriksson,代码已经在问题中(在底部)
  • 你可以做字符串替换吗? str_replace(", ",':',$option->stores) 像这样

标签: php mysql drop-down-menu html-select


【解决方案1】:

我认为选项标签的属性不是values。改用value,就像这样:

<select name="test">
    <option value="data 1,data 2, data 3....">Text 1</option>
    <option value="data 6,data 7, data 8....">Text 2</option>
</select>

更新:

$results_streets = $wpdb->get_results('SELECT DISTINCT streets,stores FROM table WHERE streets IN ("Street 1") ORDER BY streets ASC', OBJECT);

<form action="" name="formName">
<div>
<select name='streets_list'>
    <option class="filter_by" value="Select by Street">Select by Street</option>
    <?php
    $values = "";
    foreach($results_streets as $option){
        if(isset($_POST['streets_list']) && $_POST['streets_list'] == $option->streets){
            $values.=$option->stores."|";
       } 
     }
    echo '<option class="filter_by" selected value="'. $values .'">Street 1</option>';
    ?>
</select>
</div>
<input type="submit" value="Submit"/>
</form>

【讨论】:

  • 抱歉,拼写错误。如何从mysql动态显示一个选项标签中的多个值?
  • 我认为你的 php 代码还可以。您是否在选择标签中设置名称属性?因为在第二个代码中,name 属性位于 option 标记中。
  • 是的,已经设置好了。但是如何将所有值放在一个选项标签中?例如。 &lt;option value="Store 1, Store 2,...."&gt;Street 1&lt;/option&gt; 而不是 &lt;option value="Store 1"&gt;Street 1&lt;/option&gt; &lt;option value="Store 2"&gt;Street 2&lt;/option&gt;
  • 它不起作用,我试过这个$values = ""; foreach($results_streets as $option){ if(isset($_POST['mall_list']) &amp;&amp; $_POST['streets_list'] == $option-&gt;streets) $values.=$option-&gt;stores."|"; }; echo '&lt;option class="filter_by" selected value="'. $values .'"&gt;'.$option-&gt;streets.'&lt;/option&gt;'; 没有价值
  • 我也试过了,$values = ""; foreach($results_streets as $option){ if(isset($_POST['streets_list']) &amp;&amp; $_POST['streets_list'] == $option-&gt;streets) $values.=$option-&gt;stores."|"; echo '&lt;option class="filter_by" selected value="'. $values .'"&gt;'.$option-&gt;streets.'&lt;/option&gt;'; }; 但选项的值为空白
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-04
  • 1970-01-01
相关资源
最近更新 更多