Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Mehrere Checkboxen aktiven deaktivieren Denkansatz

Frage Entwicklung JavaScript

Mitglied: Maik87

Maik87 (Level 2) - Jetzt verbinden

30.07.2012 um 09:32 Uhr, 4228 Aufrufe, 4 Kommentare

Hallo Leute,
ich als JS-Anfänger brauche mal einen Denkansatz.

Ich möchte eine Seite mit vielen Checkboxen anzeigen. Wird nun die oberste Checkbox aktiviert, so sollen alle drunterliegenden ebenfalls aktiviert werden. Andersrum bei Deaktivierung ebenfalls.

Nun sehen meine Checkboxen so aus:
01.
<input type="checkbox" name="OrgID[]" value="0"> 
02.
<input type="checkbox" name="OrgID[]" value="1"> 
03.
<input type="checkbox" name="OrgID[]" value="10"> 
04.
<input type="checkbox" name="OrgID[]" value="11"> 
05.
<input type="checkbox" name="OrgID[]" value="12"> 
06.
<input type="checkbox" name="OrgID[]" value="2"> 
07.
<input type="checkbox" name="OrgID[]" value="20"> 
08.
<input type="checkbox" name="OrgID[]" value="21">
Die mit value=0 soll alle ansprechen, die mit 1 nur die, die mit 1 beginnen usw.

Wie bekomme ich nun die Boxen angesprochen, die alle den gleichen Namen haben? Gibt es sowas wie Value like 1% oder sowas?
Mitglied: godlie
30.07.2012 um 10:21 Uhr
Hi,

ein kleiner Denkanstoß verpass denen halt eine ID, lies dir beim Seitenladen alle IDS mit values in ein Array durchlaufe das array bei passenden IDS attribute setzen.
Bitte warten ..
Mitglied: Maik87
30.07.2012 um 10:33 Uhr
Ähm...
Klingt nicht einfach - aber ich versuche mich mal dran.
Bitte warten ..
Mitglied: colinardo
30.07.2012 um 17:38 Uhr
Hier noch ein Lösungsvorschlag mit jQuery und zusätzlichen Klassen für die Checkboxen:
Die Checkboxen die mehrere untergeordnete mitauswählen sollen versiehst du mit dem Klassennamen "main" und die jeweils untergeordneten mit "sub-x" wobei das "x" mit der ersten Ziffer von value gefüllt werden sollte...
01.
<!doctype html> 
02.
<html> 
03.
<head> 
04.
<meta charset="utf-8"> 
05.
<title>Checkbox</title> 
06.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
07.
<script type="text/javascript"> 
08.
$(document).ready(function(){ 
09.
	$(':checkbox[name="OrgID\\[\\]"].main').change(function(){ 
10.
		var val = $(this).attr("value"); 
11.
	 
12.
			//die 0 für die Auswahl aller Elemente abfangen  
13.
			if (val !== "0"){ 
14.
				if ($(this).attr("checked")){ 
15.
					$('.sub-' + val).attr("checked","checked"); 
16.
				}else{ 
17.
					$('.sub-' + val).removeAttr("checked"); 
18.
19.
			}else{	//für die Auswahl aller Elemente 
20.
				if ($(this).attr("checked")){ 
21.
					$(':checkbox[name="OrgID\\[\\]"]:gt(0)').attr("checked","checked"); 
22.
				}else{ 
23.
					$(':checkbox[name="OrgID\\[\\]"]:gt(0)').removeAttr("checked");					 
24.
25.
26.
	}); 
27.
}); 
28.
</script> 
29.
</head> 
30.
 
31.
<body> 
32.
<input type="checkbox"  class="main" name="OrgID[]" value="0"> 
33.
0<br> 
34.
<input type="checkbox" class="main" name="OrgID[]" value="1"> 
35.
1<br> 
36.
<input type="checkbox" class="sub-1" name="OrgID[]" value="10"> 
37.
10<br> 
38.
<input type="checkbox" class="sub-1" name="OrgID[]" value="11"> 
39.
11<br> 
40.
<input type="checkbox" class="sub-1" name="OrgID[]" value="12"> 
41.
12<br> 
42.
<input type="checkbox" class="main" name="OrgID[]" value="2"> 
43.
44.
<br> 
45.
<input type="checkbox" class="sub-2" name="OrgID[]" value="20"> 
46.
20 
47.
<br> 
48.
<input type="checkbox" class="sub-2" name="OrgID[]" value="21">  
49.
21 
50.
</body> 
51.
</html>
Hoffe das hilft dir..
Uwe
Bitte warten ..
Mitglied: Maik87
02.08.2012 um 17:23 Uhr
Klingt auch sehr interessant...
Leider hab ich mein Beispiel nur oberflächlich beschrieben und nicht detailliert.

Ich habe mehr als zwei Ebenen. Genau genommen sechs. Um dein Beispiel umzuswitchen bin ich scheinbar zu blöd Ich möchte jetzt auch nicht eure Freizeit in Anspruch nehmen und mir das von euch fertig machen lassen. Daher muss ich mir wohl eine andere Lösung ausdenken. JavaScript ist wohl derzeit noch nicht genug vertieft bei mir.
Bitte warten ..
Neuester Wissensbeitrag
Microsoft Office

MS Office Excel - Formel wird angezeigt, aber nicht berechneter Wert!

Tipp von holli.zimmi zum Thema Microsoft Office ...

Ähnliche Inhalte
Datenbanken
MS Access: Mehrere Zeilen in einer Zelle zusammenfassen (2)

Frage von User1000 zum Thema Datenbanken ...

Datenbanken
MySQL - Mehrere Instanzen

Frage von ForgottenRealm zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Hyper-V
gelöst Reiner Hyper- V Server oder lieber Rolle (18)

Frage von Winuser zum Thema Hyper-V ...

Windows Server
gelöst Rechte als Admin vergeben - Zugriff verweigert (14)

Frage von Ghost108 zum Thema Windows Server ...

Router & Routing
gelöst IP Kamera für drei unabhängige Netzwerke (12)

Frage von ProfessorZ zum Thema Router & Routing ...