2010-03-07 3 views
1

Я новичок в PHP, и я хочу, чтобы этот код <option value="" disabled="disabled">-------------</option> был отключен, когда PHP-код создает мой список вариантов. Как я могу исправить свой 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>'; 

Это часть HTML кода, которая выводится из PHP-кода.

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

+1

Посмотрите на элемент' '-HTML, это избавит вас от добавления данные о мусоре исключительно для визуальных эффектов. – chelmertz

+0

Вот почему он отключен. – needHeLp

ответ

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> 

Я извиняюсь за любые ошибки синтаксиса, я не мой веб-сервер доступный прямо сейчас.

Смежные вопросы