PHP'de

2016-03-29 5 views
0

'da seçilen bir seçeneği dinamik olarak nasıl kurarım Aşağıdaki kodları kullanıyorum .. Bir dizinin içinden geçiyorum. seçildikleri olarak opsiyon alan işaretlenmiş olmalıdır eşitse ŞimdiPHP'de

$optionArr = array (opt_side_a => 10, opt_side_b => 20); 
// Outter LOOP - $cside = iterator // 
// INNER LOOP // 
foreach($optionArr as $key => $value){ 
    if($_REQUEST['opt_side_'.$cside] == $value){ 
     $isSelected = "selected"; 
    } 
    echo '<option value="'.$value.'"'.$isSelected.'>'.$key.'</option>'; 
} 

Benim sorundur .. .. değişkeni ($ _REQUEST aracılığıyla benim özel durumunda) bir yazı karşısında her değerini kontrol etmek istediğiniz her seçenek değeri seçili olarak işaretlenir. Yalnızca bir kez $ IsSelected set

$optionArr = array (opt_side_a => 10, opt_side_b => 20); 
// Outter LOOP - $cside = iterator // 
// INNER LOOP // 
foreach($optionArr as $key => $value){ 
    if($_REQUEST['opt_side_'.$cside] == $value){ 
     echo '<option value="'.$value.'" "selected">'.$key.'</option>'; 
    } 

} 

ama ilk için başlatıldı sonra tüm seçenekleri görüntülenir:

cevap

1

bu

foreach($optionArr as $key => $value){ 
    $isSelected =""; //added this line 
    if($_REQUEST['opt_side_'.$cside] == $value){ 
    $isSelected = "selected"; 
    } 
    echo '<option value="'.$value.'"'.$isSelected.'>'.$key.'</option>'; 
} 
+0

Oh o_O, çok kolay. Teşekkürler;) –

+0

Her bir yinelemede '$ isSelected '' i' i 'olarak ayarlamak istersiniz ... –

0

sonraki şekilde yapmalısınız deneyin zaman. Ayrıca, eğer bu değişkene ihtiyacınız varsa, aşağıdaki gibi bir kez seçili olan ayarlama seçeneğinin ardından temizleyiniz:

$optionArr = array (opt_side_a => 10, opt_side_b => 20); 
// Outter LOOP - $cside = iterator // 
// INNER LOOP // 
foreach($optionArr as $key => $value){ 
    $isSelected = "";  
    if($_REQUEST['opt_side_'.$cside] == $value){ 
     $isSelected = "selected"; 
    } 
    echo '<option value="'.$value.'"'.$isSelected.'>'.$key.'</option>'; 
}