Ben Form POST döndüğünde DropDown metin muhafaza edilmesini istiyoruz. Durumunu korumak için nasıl?
You have to set the selected
attribute on the option
element.
See http://reference.sitepoint.com/html/option/selected
<form>
<label for="favoritefood">Favorite food</label>
<select name="favoritefood" id="favoritefood">
<option value="che">Cheese</option>
<option value="egg" selected="selected">Egg</option>
<option value="cab">Cabbage</option>
</select>
</form>
Bu öznitelik belirtilirse, $_POST
dizi seçenek öğe veya value
sayısal Dizini içerecek ya. Yukarıdaki örnekte, $_POST['favoritefood']
'yumurta' içerir. Siz, örneğin sizin için bir seçenek unsurları oluşturur bir yardımcıya inşa edebileceğini
<?php
class HtmlHelper
{
public static function option($value, $label, $selected)
{
$selected = ($value === $selected) ? ' selected="selected"' : '';
return sprintf('<option value="%s"%s>%s</option>%s',
$value, $selected, $label, PHP_EOL);
}
}
// Usage to get the above Selectbox options
echo HtmlHelper::option('che', 'Cheese', $_POST['favoritefood']),
HtmlHelper::option('egg', 'Egg', $_POST['favoritefood']),
HtmlHelper::option('cab', 'Cabbage', $_POST['favoritefood']);
Tabii ki, bunun yerine ayrı ayrı her seçenek için çağrı, tek seferde seçeneklerini ve POST dizi geçebileceği yerine selectbox yardımcı sahip olmak daha akıllı olurdu. Ben bu oluşturmak için o kadar bırakın.
PHP ile dinamik seçenekleri seçin inşa değilseniz, size $ _POST dizi favoritefood için belirlenen değer geçmek ve komut seçeneği var sayfanızda küçük bir javascript ekleyerek seçeneğini seçebilirsiniz. See the answers to this question for possible code.