Versio

Javascript radiobutton aanvinken

Overzicht Reageren

Crispijn -

Crispijn -

29/09/2008 22:46:00
Quote Anchor link
Beste mensen. Ik heb een array met input elementen. Dit zijn radiobuttons.

Wanneer een divje geopend is met daarin een formulier wil ik radiobutton selecteren. Nou heb ik dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
if(params['inlineId'] == 'contact'){
    var list = $$('#diciplines input');
    
    setTimeout(function () {
        list.each(function(e) {
            if(e.value == subject){
                e.setProperty('checked', true);
            }
        });
    }, 100);
}


Alleen er wordt niks als checked gemarkeerd. Hoe kan ik dit oplossen?

Voor de volledigheid het stukje form:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<div id="diciplines" style="float:left;">
    <p><input type="radio" name="dicipline" id="dicipline1" value="dicipline1"> Dicipline 1<br />
    <input type="radio" name="dicipline" id="dicipline2" value="dicipline2"> Dicipline 2<br />
    <input type="radio" name="dicipline" id="dicipline3" value="dicipline3"> Dicipline 3<br />
    <input type="radio" name="dicipline" id="dicipline4" value="dicipline4"> Dicipline 4</p>
</div>        
 
PHP hulp

PHP hulp

25/05/2012 05:40:15
Gesponsorde koppelingen:
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 22:55:00
Quote Anchor link
Is het niet e.setProperty ('checked', 'checked')?

Edit: overigens is het niet diciplines , maar disciplines
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Crispijn -

Crispijn -

29/09/2008 23:01:00
Quote Anchor link
Bedankt voor de correctie en nee, dit is niet de oplossing. Raar, het zou naar mijn idee toch echt moeten werken... Iemand enig idee waarom dit niet lekker werkt? Zie ook het javascriptje vanaf regel 249...
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 23:06:00
Quote Anchor link
Waar komt de var subject vandaan? Is die wel gevuld?
 
Crispijn -

Crispijn -

29/09/2008 23:12:00
Quote Anchor link
ja, die heb ik gecontroleerd. die haal ik uit de url en bestaat

Hij komt helemaal door tot en met de

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
if(e.value == subject){


Het zit 'm echt in die set property. Firebug doet niks. Kijk maar eens op de testpagina
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 23:18:00
Quote Anchor link
Maf. Probeer het eens zonder die setTimeout?
 
Crispijn -

Crispijn -

29/09/2008 23:21:00
Quote Anchor link
Zelfde, niks nada noppes. Met die timeout krijg ik, wanneer ik verschillende dingen alert wel alles door wat de variabelen betreft dus daar zou het niet aan kunnen en moeten liggen...
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 23:22:00
Quote Anchor link
Wordt de var list wel gevuld?
 
Crispijn -

Crispijn -

29/09/2008 23:27:00
Quote Anchor link
Ja, ook. Ipv setProperty moet het zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
e.setAttribute('checked', 'checked');


Wat er nu alleen idioot is het feit dat ik achter loop. De eerste keer open in de contactpagina en dan is er niks gechecked. De tweede keer is de vorige gechecked. Dit zal wel door de opbouw van het smoothbox komen... Lekker puzzelen :)

edit: eenmaal discipline 4 gekozen kan ik niet meer naar dicipline < 4. Ook een raar iets... Dacht dat dit zo ingebakken was maar ik ben nu al de hele avond aan het klussen voor 10 regels javascript...
Gewijzigd op 01/01/1970 01:00:00 door Crispijn -
 
Jan Koehoorn

Jan Koehoorn

29/09/2008 23:29:00
Quote Anchor link
Wat zou kunnen is dat je ergens dezelfde variabelenamen gebruikt als in smoothbox. Om dat te voorkomen zou je met namespaces moeten werken, maar dat is vrij ingewikkeld om snel uit te leggen. Geef je variabelen maar eens namen waarvan je zeker weet dat ze uniek zijn, bijv: crispijn_list en zo.
 
Crispijn -

Crispijn -

29/09/2008 23:39:00
Quote Anchor link
Ik denk zelf dat het in het feit zit dat de functie TB_showWindowwordt aangeroepen en dat deze nog niet volledig is geladen (hier zit een fade effect in) wanneer ik met mijn subject aan de haal ga. Even kijken hoe ik deze netjes kan ombouwen.

Moet zo'n soort constructie worden toch? (met de bedoeling dat wanneer TB_showWindowklaar is dan wordt gekeken naar het subject)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
TB_showWindow( function(){

    if(params['inlineId'] == 'contact'){
        var crispijn = $$('#diciplines input');
        
        crispijn.each(function(e) {
            if(e.value == params['subject']){
                alert(e.value + ' met subject: ' + params['subject']);
                e.setAttribute('checked', 'checked');
            }
        });
    }
});
 



Overzicht Reageren

Get Adobe Flash player