---
title: "Ändra färg på rad?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/114427-ändra-färg-på-rad/page2"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "Bosse168"
published: "2004-10-26T10:21:36.000Z"
updated: "2004-11-27T18:52:29.000Z"
replies: 24
views: 684
page: 2
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/114427-ändra-färg-på-rad"
---

# Ändra färg på rad?

_Sida 2 av 2._

## #21 — Peter S, 2004-11-26T10:13Z

Så är det inte för mig. Det finns två alternativ som jag ser det. Om minst en ruta är ikryssad och minst en ruta urkryssad, skall de resterande bli ikryssade vid anrop av CheckAll(). Det andra alternativet är det omvända:

```
<script type="text/javascript">

var form, elms, eLen;

window.onload = function(){
    form = document.forms["delmailform"],
    elms = form.elements,
    eLen = elms.length;

    for (var i = 0, elm; (elm = elms[i]); ++i)
	if (elm.name == "del")
	    elm.onclick = function(){
		this.parentNode.style.backgroundColor = this.parentNode.style.backgroundColor == "white" ? "blue" : "white";
	    }
}

function CheckAll(){
    var ch = true;

    for (var i = 0; i < eLen; ++i)
	if (elms[i].checked) {
	    ch = false;
	    break;
	}

    var colors = ["white", "blue"];

    for (var i = 0, elm; (elm = elms[i]); ++i){
	elm.checked = ch;
	elm.parentNode.style.backgroundColor = colors[ch * 1];
    }
}

</script>
<html>
<body>
	<form name="delmailform">
	<table>
	<tr>
	<td id="td1"><input type="checkbox" name="del" value="<%=myArray(1,i)%>" onclick="toggleBgColor('td1',this)"></td>
	</tr>
	<tr>
	<td id="td2"><input type="checkbox" name="del" value="<%=myArray(1,i)%>" onclick="toggleBgColor('td2',this)"></td>
	</tr>
	<tr>
	<td id="td3"><input type="checkbox" name="del" value="<%=myArray(1,i)%>" onclick="toggleBgColor('td3',this)"></td>
	</tr>
	<tr>
	<td id="td4"><input type="checkbox" name="del" value="<%=myArray(1,i)%>" onclick="toggleBgColor('td4',this)"></td>
	</tr>
	</table>
	<a href="java&#115;cript:void(CheckAll());">Markera alla</a>
	</form>
</body>
</html>
```

 :)

Permalänk: https://www.webforum.nu/p/1492692

## #22 — Bosse168, 2004-11-26T10:51Z

Nope den funkar inte alls.:(

Permalänk: https://www.webforum.nu/p/1492728

## #23 — Peter S, 2004-11-26T11:07Z

Jo, det gör den. Kan du visa ditt exempel som ej fungerar, samt redogöra för vilken webbläddrare du använder?

 :)

Permalänk: https://www.webforum.nu/p/1492738

## #24 — echoSwe, 2004-11-27T10:49Z

Jag gillade också den här tråden :) tack för att du skrev allt det på begäran.  Det funkar bra för mig.

Hade du kunnat förklara den här snutten för mig?

for (var i = 0, elm; (elm = elms*); ++i)

Du sätter först i till noll, sen ska den loopa så länge som elm är lika med elms *(array). Men varför sätter du "i = 0, elm"?**

Permalänk: https://www.webforum.nu/p/1493215

## #25 — Peter S, 2004-11-27T18:52Z

I den första delen av for-loopen deklarerar jag vilka variabler som skall vara lokala i denna slinga, d v s *i* och *elm*. I den mellersta delen av loopen tilldelas *elm* värdet på den givna positionen i arrayen. När *i* når ett indexvärde utanför fältet returnerar *elms ett värde av typen *undefined*, vilket tolkas som falskt, och loopen är klar.*

Permalänk: https://www.webforum.nu/p/1493427

---

Tråden på webben: https://www.webforum.nu/amne/javascript/114427-ändra-färg-på-rad/page2  
Föregående sida: https://www.webforum.nu/amne/javascript/114427-ändra-färg-på-rad.md
