webForumDet fria alternativet

Checkboxar Igen...

5 svar · 257 visningar · startad av startail

startailMedlem sedan sep. 2000155 inlägg
#1

Jag sökte på forumet men jag tror jag fortfarande behöver lite hjälp med hur man gör detta ;)

Det är så att jag har 4 kategorier och dom har i sig kategorier.

Om man nu checkar i nån av underkategorierna så skall checkboxen för huvudkategorin automatiskt fyllas i men bara den som är huvudkat för underkatten.

Hoppas nån fattar vad jag vill göra =)

JojoxxMedlem sedan juni 20004 308 inlägg
#2

Det kanske är mer logiskt att använda radio-knappar där istället eftersom jag antar att inte mer än 1 huvudkategori skall gå att välja.

<form>
<input type="radio" name="kat"><br>
...<input type="radio" name="kat0" onClick="this.form.kat[0].checked=true;">
...<input type="radio" name="kat0" onClick="this.form.kat[0].checked=true;">
...<input type="radio" name="kat0" onClick="this.form.kat[0].checked=true;"><br>
<input type="radio" name="kat"><br>
...<input type="radio" name="kat1" onClick="this.form.kat[1].checked=true;">
...<input type="radio" name="kat1" onClick="this.form.kat[1].checked=true;">
...<input type="radio" name="kat1" onClick="this.form.kat[1].checked=true;"><br>
</form>
startailMedlem sedan sep. 2000155 inlägg
#3

Tackar.

För att uveckla detta lite mer så har jag suttit å tänkt på det.
Man kan ha en dropdown meny som visar dom underkategorier man kan välja med hjälp av radio knappar.
Detta för att slippa visa alla kategorier på en gång då det kan vara en del.

Finns det nått sätt att göra detta på ?

Sen en sak om det som postades innan.
Om jag kryssar/trycker i en radio button på kategori 1 så slocknar inte den på kategori 0. Hur löser man det ?

Det skall gå att klicka i mer än en under kategori. Men bara en huvudkategori. Så checkboxes och radio knappar kommer att användas.

Peter SMedlem sedan dec. 20025 483 inlägg
#4

Redigerad.

Någonting sådant här kanske:

<script type="text/javascript">
<!--

function checkCat(n){
	var form = document.forms["foo"];

	for(var i=0; i<form.elements.length; i++){
		if(form.elements[i].type == "radio" && form.elements[i].name.indexOf(n) != -1) continue;
		form.elements[i].checked = false;
	}

	form.elements[n].checked = true;
};

//-->
</script>

<body>

<form name="foo">
<div>
	<dl>
		<dt><input type="checkbox" name="kat1"></dt>
		<dd><input type="radio" name="kat1_item1" onclick="checkCat('kat1')"></dd>
		<dd><input type="radio" name="kat1_item2" onclick="checkCat('kat1')"></dd>
		<dd><input type="radio" name="kat1_item3" onclick="checkCat('kat1')"></dd>
		<dd><input type="radio" name="kat1_item4" onclick="checkCat('kat1')"></dd>
	</dl>
</div>
<div>
	<dl>
		<dt><input type="checkbox" name="kat2"></dt>
		<dd><input type="radio" name="kat2_item1" onclick="checkCat('kat2')"></dd>
		<dd><input type="radio" name="kat2_item2" onclick="checkCat('kat2')"></dd>
		<dd><input type="radio" name="kat2_item3" onclick="checkCat('kat2')"></dd>
		<dd><input type="radio" name="kat2_item4" onclick="checkCat('kat2')"></dd>
	</dl>
</div>
<div>
	<dl>
		<dt><input type="checkbox" name="kat3"></dt>
		<dd><input type="radio" name="kat3_item1" onclick="checkCat('kat3')"></dd>
		<dd><input type="radio" name="kat3_item2" onclick="checkCat('kat3')"></dd>
		<dd><input type="radio" name="kat3_item3" onclick="checkCat('kat3')"></dd>
		<dd><input type="radio" name="kat3_item4" onclick="checkCat('kat3')"></dd>
	</dl>
</div>
<div>
	<dl>
		<dt><input type="checkbox" name="kat4"></dt>
		<dd><input type="radio" name="kat4_item1" onclick="checkCat('kat4')"></dd>
		<dd><input type="radio" name="kat4_item2" onclick="checkCat('kat4')"></dd>
		<dd><input type="radio" name="kat4_item3" onclick="checkCat('kat4')"></dd>
		<dd><input type="radio" name="kat4_item4" onclick="checkCat('kat4')"></dd>
	</dl>
</div>
</form>

</body>

:)

startailMedlem sedan sep. 2000155 inlägg
#5

Skrev om det så det tvärt om med checkbox/radio buttons :)

<script type="text/javascript">
<!--

function checkCat(n){
        var form = document.forms["foo"];

        for(var i=0; i<form.elements.length; i++){
                if(form.elements[i].type == "checkbox" && form.elements[i].name.indexOf(n) != -1) continue;
                form.elements[i].checked = false;
        }

        form.elements[n].checked = true;
};

//-->
</script>

<body>

<form name="foo">
<div>
        <dl>
                <dt><input type="radio" name="kat1"></dt>
                <dd><input type="checkbox" name="kat1_item1" onclick="checkCat('kat1')"></dd>
                <dd><input type="checkbox" name="kat1_item2" onclick="checkCat('kat1')"></dd>
                <dd><input type="checkbox" name="kat1_item3" onclick="checkCat('kat1')"></dd>
                <dd><input type="checkbox" name="kat1_item4" onclick="checkCat('kat1')"></dd>
        </dl>
</div>
<div>
        <dl>
                <dt><input type="radio" name="kat2"></dt>
                <dd><input type="checkbox" name="kat2_item1" onclick="checkCat('kat2')"></dd>
                <dd><input type="checkbox" name="kat2_item2" onclick="checkCat('kat2')"></dd>
                <dd><input type="checkbox" name="kat2_item3" onclick="checkCat('kat2')"></dd>
                <dd><input type="checkbox" name="kat2_item4" onclick="checkCat('kat2')"></dd>
        </dl>
</div>
</form>

</body>

Dock så om man klickar i en annan radio knapp (utan att klicka på checkboxarna) så avmarkeras inte den förra radio knappen nu §jr

startailMedlem sedan sep. 2000155 inlägg
#6

<input type="radio" name="kat2" onclick="checkCat('kat2')">

Simpel lösning juh... :r

Tack för hjälpen!

418 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
134 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)