2017-01-24 1 views
0

Unten ist der Code, wo nur zwei Optionen sind in der Dropdown-Liste, d. H. 2016 und 2017. Ich möchte ausgewählten Wert nach dem Absenden behalten. Aber ich bekomme 2016, nachdem ich 2017 ausgewählt habe. Welche Änderungen müssen gemacht werden?So behalten Sie den ausgewählten Wert nach dem Abschicken in PHP

<?php 
$yearArray = range(2016, 2017); 
?> 

<select name="year" id="select2"> 
<option value="0">Select Year</option> 
<?php 
foreach ($yearArray as $year) 
{ 

    $selected = ($year == 2016) ? 'selected' : ''; 
    echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>'; 
} 
?> 
</select> 
+0

Was meinst du mit einreichen? Sie haben das Formular zum Ändern der Auswahlbox eingereicht? –

+0

@SaravananSampathkumar Ja, ich füge Formular ein. und ich möchte die ausgewählte Option in der Auswahlbox beibehalten, nachdem ich auf "Senden" geklickt habe. –

+0

Können Sie Ihren gesamten Dateiinhalt hochladen? –

Antwort

1

Der Grund, warum 2016 ausgewählt ist immer, weil Sie es 2016.

<?php 
foreach ($yearArray as $year) 
{ 

    $selected = ($year == 2016) ? 'selected' : ''; // Here, you are setting it 
    echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>'; 
} 
?> 

Stattdessen tun dies einstellen,

<?php 
foreach ($yearArray as $year) 
{ 

    $selected = ((isset($_POST['year']) && $_POST['year'] == $year) || ($year == '2016')) ? 'selected' : ''; 

    echo '<option name="year" '.$selected.' value="'.$year.'">'.$year.'</option>'; 
} 
?> 

Standardmäßig ist 2016 ausgewählt, wenn Sie haben einen anderen Wert angegeben, der ausgewählt wird.

+0

Kann isset() für das Ergebnis eines Ausdrucks nicht verwenden (Sie können stattdessen "null! == Ausdruck" verwenden) –

+0

Sorry, es gab einen Tippfehler. Es wurde jetzt behoben. –

+0

M wird "Jahr auswählen" nach dem Senden des Formulars, das ist Standard –

1

Versuchen Sie folgendes:

if((isset($_POST['year']) && $year == $_POST['year'])){ 
    $selected = 'selected'; 
}else if($year == 2016){ 
    $selected = 'selected'; 
} 
Verwandte Themen