een radiobutton onload dynamisch checked maken

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

El Grimbo

El Grimbo

20/08/2009 16:42:00
Quote Anchor link
Hi

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)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>
Gewijzigd op 01/01/1970 01:00:00 door El Grimbo
 
PHP hulp

PHP hulp

09/05/2024 00:10:47
 

20/08/2009 16:46:00
Quote Anchor link
Per input radio:

if($fruit == 'appel') echo 'checked="checked"';
enz. enz.

(Overigens kun je dan beter ipv $output gewoon gelijk echo-en, dat scheelt weer..)
 
El Grimbo

El Grimbo

20/08/2009 16:59:00
Quote Anchor link
Dank voor je reactie maar...

$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
 
GaMer B

GaMer B

20/08/2009 17:34:00
Quote Anchor link
inigo, JS wordt niet altijd ondersteunt. Sommigen hebben JS uit staan.

Een betere manier is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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]
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
El Grimbo

El Grimbo

20/08/2009 18:32:00
Quote Anchor link
Hi GaMer13

Ik weet ik weet.

Wat je voorstelt ziet er erg goed uit. Efficient. Top

thx a lot

grt i.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.