2010-03-07 126 views
1

我是PHP新手,我想在代碼構建我的選擇列表時禁用此代碼<option value="" disabled="disabled">-------------</option>。我怎樣才能修復我的PHP代碼,以便它將始終將該特定選項設置爲禁用?PHP數組問題?

這裏是php代碼的一部分。

echo '<select name="country" id="country" size="20">' . "\n"; 
    foreach($countries as $option) { 
    if ($option == $state) { 
     echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n"; 
    } else { 
     echo '<option value="'. $option . '">' . $option . '</option>'."\n"; 
    } 
    } 
echo '</select>'; 

這是從PHP代碼輸出的HTML代碼的一部分。

<option value="United States">United States</option> 
    <option value="Australia">Australia</option> 
    <option value="Canada">Canada</option> 
    <option value="United Kingdom">United Kingdom</option> 
    <option value="India">India</option> 
    <option value="" disabled="disabled">-------------</option> 
    <option value="Afghanistan">Afghanistan</option> 
    <option value="Aland Islands">Aland Islands</option> 

    <option value="Albania">Albania</option> 
    <option value="Algeria">Algeria</option> 
    <option value="American Samoa">American Samoa</option> 
    <option value="Andorra">Andorra</option> 
+0

它必須在*印度之後?如何添加它目前,我無法在您的代碼中找到此選項。如果你想分組國家,你應該考慮使用'optgroup':http://www.w3schools.com/tags/tag_optgroup.asp – 2010-03-07 22:56:31

+1

看看''-HTML元素,它會讓你無法添加垃圾數據純粹是爲了它的視覺效果。 – chelmertz 2010-03-07 22:58:22

+0

這就是爲什麼它被禁用。 – needHeLp 2010-03-07 23:04:03

回答

0
echo '<select name="country" id="country" size="20">' . "\n"; 
    foreach($countries as $option) { 
    if ($option == $state) { 
     echo '<option value="' . $option . '" selected="selected">' . $option . '</option>' . "\n"; 
    } 
    else if($option == "-------------------"){ 
     echo '<option value="" disabled="disabled">----------------</option>'; 
    } 
    else { 
     echo '<option value="'. $option . '">' . $option . '</option>'."\n"; 
    } 
    } 
echo '</select>'; 
0

通常情況下,你要做的就是添加這些特殊情況下,爲正常流動外,除非數據庫確實代表一個空的選擇。例如,我可以做這樣的(使用短標籤,這可能是不可用):

<select name="country" id="country" size="20"> 
    <option value="" disabled="disabled">----------------</option> 
<?php 
foreach($countries as $option): 
    if ($option == $state): ?> 
     <option value="<?=$option ?>" selected="selected"><?=$option?></option> 
    <? else: ?> 
     <option value="<?=$option ?>"><?=$option ?></option> 
    <? endif; 
endforeach; ?> 
</select> 

我的任何語法錯誤道歉,我沒有我的web服務器可用的現在。