webForumDet fria alternativet

disable på flera radioknappar

JavaScript

5 svar · 205 visningar · startad av JAreMANNEN

Medlem sedan aug. 20002 272 inlägg
Frågan#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 :)

Medlem sedan nov. 20017 144 inlägg
#2
function disabl(){
var elm = document.dis.ett;
for(i=0;i<elm.length;i++){

elm[i].disabled = true;

   }
};
Medlem sedan nov. 20017 144 inlägg
#3

Alternativ:

function disabl(){
var elm = document.dis.ett;
for(i=0;i<elm.length;i++){

elm[i].disabled = (elm[i].disabled==true)? false : true;

   }
};
Medlem sedan aug. 20002 272 inlägg
#4

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å?

Medlem sedan dec. 20025 483 inlägg
#5

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>

:)

Medlem sedan aug. 20002 272 inlägg
#6

Det där blev typ HUR BRA som helst :)
Tack!!

249 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
120 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)