【问题标题】:How to set dropdownlist in tag php for loops如何在标签php中为循环设置下拉列表
【发布时间】:2016-05-11 16:28:46
【问题描述】:

当我在 HTML 中设置选项值时,它可以工作:

<select name="month" id="month" style="width: 110px;" required>
    <option selected="selected" disabled="disabled" value="">Month</option>
    <option value="01"<?= $month == '01' ? 'selected="selected"' : '';?>>January</option>
    <option value="02"<?= $month == '02' ? 'selected="selected"' : '';?>>February</option>
<Select>

但我不知道如何在 PHP 循环中做同样的事情:(错误)

<?php
    $row = 31;
    echo "<select name='day' id='day' style='width: 90px;' required>";
    echo "<option selected='selected' disabled='disabled' value=''>Tanggal</option>";
    for ($i = 1; $i <= $row; $i++) {
        echo "<option value=".$i." ". $day == $i ? 'selected="selected"' : ''.">".$i."</option>";
    }
    echo "</select>";
?>

当我检查元素时,输出是:
帮我在里面为php设置selected='selected'

【问题讨论】:

  • for ($i = 1; $i ".$i.""; }

标签: php html for-loop drop-down-menu


【解决方案1】:

您可以像这样更好地拆分逻辑部分:

for ($i = 1; $i <= $row; $i++) {
    echo "<option value=" . $i . " ";
    if ($day == $i) {
        echo 'selected="selected"';
    }
    echo ">".$i."</option>";
}

这使它工作并且更具可读性

【讨论】:

    【解决方案2】:

    看来你的逻辑没问题,但你的 if 中需要这样的括号:

    echo "<option value=".$i." ". ($day == $i ? 'selected="selected"' : '').">".$i."</option>";
    

    【讨论】:

      猜你喜欢
      • 2019-05-07
      • 2013-12-06
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-25
      • 2014-04-22
      相关资源
      最近更新 更多