Frågan 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!!