een radiobutton onload dynamisch checked maken
Gebruiker heeft al eens een formulier ingevuld en de waarde van zijn keuze (radio) is opgeslagen. Ik wil de mogelijkheid bieden die keuze te wijzigen.
De gemaakte keuze moet bij het laden van die mutatiepagina dan aangevinkt staan.
Hoe doe je dat op de meest efficiente manier?
Stel de waarde komt binnen met een GET en is 3.
Dan moet natuurlijk bij de de derde regel checked="checked" ge-echoed worden.
Hoe in no time van $fruit naar de juiste regel?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
if(isset($_GET['fruit'])){
$fruit = $_GET['fruit'];
}
$output = '
<ol>
<li><input type="radio" name="fruit" value="1">banaan</li>
<li><input type="radio" name="fruit" value="2">sinasappel</li>
<li><input type="radio" name="fruit" value="3">kiwi</li>
<li><input type="radio" name="fruit" value="4">appel</li>
</ol>';
echo $output;
?>
if(isset($_GET['fruit'])){
$fruit = $_GET['fruit'];
}
$output = '
<ol>
<li><input type="radio" name="fruit" value="1">banaan</li>
<li><input type="radio" name="fruit" value="2">sinasappel</li>
<li><input type="radio" name="fruit" value="3">kiwi</li>
<li><input type="radio" name="fruit" value="4">appel</li>
</ol>';
echo $output;
?>
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
if($fruit == 'appel') echo 'checked="checked"';
enz. enz.
(Overigens kun je dan beter ipv $output gewoon gelijk echo-en, dat scheelt weer..)
$fruit gaat natuurlijk nooit appel zijn (is namelijk per definitie een integer)
En
Dit had ik ook al bedacht, maar het leek me zo omslachtig. Vandaar mijn vraag om efficiente oplossing...
Ik denk nu dan toch maar aan onload een javascript functie met een loop door de fruit array en een hidden field met vanuit PHP de $fruit waarde als zoekitem.
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
Een betere manier is:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_GET['fruit'])){
$getFruit = $_GET['fruit'];
}
$aFruit = array('banaan', 'sinasappel', 'kiwi', 'appel');
$output = '<ol>';
foreach($aFruit as $integer => $fruit)
{
$output .= ($getFruit == ($integer+1)) ? '<li><input type="radio" name="fruit" value="' . ($integer+1) . '" checked>' . $fruit . '</li>' : '<li><input type="radio" name="fruit" value="' . ($integer+1) . '">' . $fruit . '</li>';
}
$output .= '</ol>';
echo $output;[/code]
if(isset($_GET['fruit'])){
$getFruit = $_GET['fruit'];
}
$aFruit = array('banaan', 'sinasappel', 'kiwi', 'appel');
$output = '<ol>';
foreach($aFruit as $integer => $fruit)
{
$output .= ($getFruit == ($integer+1)) ? '<li><input type="radio" name="fruit" value="' . ($integer+1) . '" checked>' . $fruit . '</li>' : '<li><input type="radio" name="fruit" value="' . ($integer+1) . '">' . $fruit . '</li>';
}
$output .= '</ol>';
echo $output;[/code]
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
Ik weet ik weet.
Wat je voorstelt ziet er erg goed uit. Efficient. Top
thx a lot
grt i.