2016-01-23 76 views
1

我在網頁上使用日期範圍來聚合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> 

最怪異的部分是這是工作時間最長,突然在這兩個菜單的日期消失。任何想法爲什麼?

+1

你看到''選項'關閉'>'嗎?我不。 –

+0

關閉選項開始標記。 – ameenulla0007

+0

如果你想擺脫可怕的速記方法,這將更加明顯。以一種體面的方式格式化你的代碼,你會更快地發現這樣的錯誤。 – RST

回答

1

這件事發生監守你缺少的標籤的結束>

修改後的代碼:

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

你的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> 
1

試試這個辦法也:

<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> 

現在你可以在這裏把你的代碼。

+0

那麼OP如何獲得選擇的選項? – devpro

+0

http://www.html-form-guide.com/php-form/php-form-select.html –

+0

沒有我的朋友我在說如果date == date1比這個特定的選項將被選中...你錯過了它。 :) – devpro

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> 
0

我的建議是不容易出錯的代碼。

$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; 
相關問題