Trådstart 17 juni 2004 18:28 #1 Hajj!
Har följande kod:
<form name="dis">
<input type="checkbox" name="check" onclick="document.dis.ett.disabled = true;"><br>
<input type="radio" name="ett" value="ty"><br>
</form>
^^detta fungerar...
MEN, jag skulle vilja ha det såhär:
<form name="dis">
<input type="checkbox" name="check" onclick="document.dis.ett.disabled = true;"><br>
<input type="radio" name="ett" value="till"><br>
<input type="radio" name="ett" value="från"><br>
</form>
Detta vill inte fungera, händer ingenting när jag kryssar checkbosen...
Jag vill altså disable alla radiobuttons med namnet "ett".
Hur ska jag få till det?
mvh
Jesper T Medlem sedan nov. 2001 7 144 inlägg function disabl(){
var elm = document.dis.ett;
for(i=0;i<elm.length;i++){
elm[i].disabled = true;
}
};
Jesper T Medlem sedan nov. 2001 7 144 inlägg Alternativ:
function disabl(){
var elm = document.dis.ett;
for(i=0;i<elm.length;i++){
elm[i].disabled = (elm[i].disabled==true)? false : true;
}
};
okej, det verkar fungera bra..
Men jag glömde säga en sak
Efter radioparet "ett" så kommer "två" osv...
Måste jag skapa en funktion för varje par?
Eller kan man lösa det på annat sätt?
EDIT: Hur ska jag göra för att knapparna ska bli "enablade" vid uncheck då?
P Peter S Medlem sedan dec. 2002 5 483 inlägg Nej, du behöver inte skapa en funktion för varje ändamål:
<script type="text/javascript">
function func(str) {
var elms = document.forms["dis"].elements,
iLen = elms.length;
while (iLen-->0)
if (elms[iLen].name == str)
elms[iLen].disabled = !elms[iLen].disabled;
}
</script>
<form name="dis">
<div>
<input type="checkbox" name="check1" onclick="func('ett')">
<input type="radio" name="ett" value="till">
<input type="radio" name="ett" value="från">
</div>
<div>
<input type="checkbox" name="check1" onclick="func('tva')">
<input type="radio" name="tva" value="till">
<input type="radio" name="tva" value="från">
</div>
</form>
Det där blev typ HUR BRA som helst
Tack!!