Seçilen seçeneği seçmek için basit yolu

2 Cevap php

Nasıl bir HTML her seçenek içinde bir if deyimi olmadan gönderilen $_POST verilerinden <select> giriş olarak seçeneğe selected="selected" biraz ekleyebilirsiniz?

2 Cevap

Programatically, bunu şöyle yapabiliriz:

$optionNames = array('This', 'Is', 'A', 'Test');
echo '<select id="testselect" name="testselect">';
foreach($optionNames as $currentOption) {
    echo '<option value="'.$currentOption.'"';
    echo $_POST['testselect'] == $currentOption ? ' selected="selected"' : '';
    echo '>'.$currentOption.'</option>';
}
echo '</select>';

Ben yukarıdaki kodu test etmek şu anda bir dev kutusu yok, ama Tamam olmalıdır itiraf etmeliyim. (Özür dilemek değilse.) :-)

Her seçenek için ifadesi en verimli olup olmadığını, bir kullanarak varsayalım.

Ama deyim eğer ortadan kaldırmak için seçmek istediğiniz seçeneği konumu dışında boş dizeler içeren bir dizi oluşturabilirsiniz.

$options = array(1 => 'Banana', 2 => 'Apple', 3 => 'Orange');
$selected_options = array_fill(1, sizeof($options), "");
if(array_key_exists($_POST['fruit'], $options))
    $selected_options[$_POST['fruit']] = " selected=\"selected\"";

echo '<select id="fruit" name="fruit">';
foreach($options as $optionId => $optionText)
    echo '<option value="'.$optionId.'"'.$selected_options[$optionId].'>'.$optionText.'</option>';
echo '</select>';