• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Checkbox aktiveren

Status
Für weitere Antworten geschlossen.

Joli

Neues Mitglied
NAbend zusammen,
habe mal ne kleine frage. und zwar habe eine dynamische Tabelle. Jede Zeile sprich tr, hat einen Hovereffekt (is noch umständlich dieser hovereffekt mit JS, wird noch geändert). Jede zeile hat am anfang eine Checkbox. Nun will ich das wenn man auf eine Zeile klickt, also iwo in der zeile, das dann die Checkbox aktiviert und die Zeile einen anderen BG hat (Ihr kennt es vllt. besser von phpMyAdmin). Ich hab schon folgenden JS-Scrip:
PHP:
function setStyle(obj,e)
{
	if(e)
		{
		if(obj.id=='clicked')
			{
			obj.id='unclicked';
			resetStyle(obj,true);
			return;
			}
		obj.id='clicked';
		}
           document.eigen.eigen_id[].checked = true;
	obj.style.backgroundColor = '#CCC';
	obj.style.color = 'black';
	obj.style.fontWeight = 'bold';
}

function resetStyle(obj,e)
{
if(obj.id=='clicked')
	{
		return;
	}
           document.eigen.eigen_id[].checked = false;
	obj.style.backgroundColor = '';
	obj.style.color = 'black';
	obj.style.fontWeight = '';
}

HTML:
<tr
onMouseOver="setStyle(this,false);bg=this.style.backgroundColor;cl=this.style.color;this.style.color='black';fett=this.style.fontWeight;this.style.fontWeight='bold';this.style.backgroundColor='#CCC';"
onMouseOut="this.style.backgroundColor=bg;this.style.fontWeight=fett;this.style.color=cl;resetStyle(this,false)"
onclick='setStyle(this,true)'>

<td><input type="checkbox" name="eigen_id[]" onclick="setColor(this);" value="<?= $ds['id'] ?>" /></td>
<td><?= $ds['lang1'] ?></td>
<td><? if($ds['verb'] == "jo") echo "to " ?><?= $ds['lang2'] ?></td>
<td><?= $ds['klasse'] ?>. Klasse</td>
<td class="center"><?= $ds1['richtig'] ?></td>
<td class="center"><?= $ds1['falsch'] ?></td>
<td class="center"><?= $ds1['anzahl'] ?></td>
<td class="<?= farbe(round($ds1['note'], 0)) ?>"><?= $ds1['note'] ?></td>

</tr>
Das mit der Checkbox klappt noch nicht, der Rest klappt. Hab auch schon gegoogelt, hab zwar was gefunden, aber des behebt mein Problem auch nicht.

Wäre euch sehr dankbar, wenn mir jemand weiterhelfen würde;)
lg
 
Zuletzt bearbeitet:
Werbung:
bei

document.eigen.eigen_id[].checked = true;

fehlt noch der index für das array, z.B.

document.eigen.eigen_id[0].checked = true;


und vielleicht könntest du zur besseren lesbarkeit nochmal den html-code besser strukturieren. ich verstehe da nämlich gar nix, da man immer horizontal scrollen muss
 
bei

document.eigen.eigen_id[].checked = true;

fehlt noch der index für das array, z.B.

document.eigen.eigen_id[0].checked = true;


und vielleicht könntest du zur besseren lesbarkeit nochmal den html-code besser strukturieren. ich verstehe da nämlich gar nix, da man immer horizontal scrollen muss


so habs jetzt besser strukturiert, hat die strukturierung net richtig übernommen beim kopiern, sry

Ich kann dem Array kein Index geben, da diese Zeile beliebig oft ausgegeben wird. Mit dem [] kann ich ja dann mehrere Checkboxen in einer Post-Variable sammeln.
Sry habs vergessen zu erwähnen
 
Werbung:
Du brauchst className, da id einmalig sein muss. Du entfernst bzw. setzt immer wieder diese Klasse für <tr>, per CSS bestimmst du dann das Aussehen (Trennung vom JS).

Je nach className holst du die checkbox und setzt checked:
Code:
var checkbox = trRef.cells[0].firstChild;
checkbox.checked = (trRef.className == "active");
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben