簡體   English   中英

選項值不在下拉菜單中顯示嗎?

[英]Option value Not displaying in drop-down menu?

我正在網頁上使用日期范圍來匯總MySQL數據,並根據選定的時間范圍顯示它。 由於某些原因,下拉菜單中每個選項的值均未顯示。 這是我正在使用的PHP:

<select name="date1" title="<?=$date1 ?>">
<?php foreach($availableDates as $date) { ?>
<option value="<?=$date ?>"<?php if($date == $date1) { ?> selected="selected"<?php } ?><?=$date ?></option>
<?php } ?>
</select>

這是HTML輸出:

<option value="2015-01-03" selected="selected" 2015-01-03<="" option=""></option>

最奇怪的部分是這工作了最長的時間,並且突然兩個菜單中的日期都消失了。 有什么想法嗎?

發生這種情況是因為您缺少結尾的> 標簽

修改后的代碼:

<select name="date1" title="<?=$date1 ?>">
<?php foreach($availableDates as $date) { ?>
<option value="<?=$date ?>"<?php if($date == $date1) { ?> selected="selected"<?php } ?>>
<?=$date ?>
</option>
<?php } ?>
</select>

您的PHP代碼段缺少結尾>

<select name="date1" title="<?=$date1 ?>">
  <?php foreach($availableDates as $date) { ?>
  <option 
    value="<?=$date ?>"
    <?php if($date == $date1) { ?> selected="selected"<?php } ?>
  >
    <?=$date ?>
  </option>
  <?php } ?>
</select>

也嘗試這種方式:

<select name="per1" id="per1">
  <option selected="selected">Choose one</option>
  <?php
    foreach($names as $name) { ?>
      <option value="<?= $name['name'] ?>"><?= $name['name'] ?></option>
  <?php
    } ?>
</select> 

現在,您可以將代碼放在這里。

1.在選定的屬性之后添加>標簽
2.刪除人手不足的<?= ?>標記,在您同時使用<?php ?>時也不需要

<select name="date1" title="<?php print $date1; ?>">
    <?php foreach($availableDates as $date) { 
        ?><option value="<?php print $date; ?>"<?php if($date == $date1) { ?> selected="selected"<?php } ?>>
            <?php print $date; ?>
        </option>
    <?php } ?>
</select>

我建議這個不太容易出錯的代碼。

$selHTML = '<select name="date1" title="'.$date1.'">';
foreach($availableDates as $date) { 
  $sel = ($date == $date1)?" selected":"";
  $selHTML .= '<option value="'.$date.'"'.$sel.'>'.$date.'</option>';
}
$selHTML .= '</select>';
echo $selHTML;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM