2017-04-21 9 views
-1

Ich versuche, diese Select All Code zu arbeiten, aber ich weiß nicht, was ich falsch mache. Ich habe den Code hier gefunden http://jsfiddle.net/L6e72fpv/Alle auswählen? Was mache ich falsch?

Ich bin mir nicht sicher, ob es ein Kompatibilitätsproblem ist oder wenn ich den Code falsch zusammensetze. Es funktioniert gut auf der jsfiddle, aber nicht auf einer ganzen Seite. Hier ist die Art, wie ich es auf einer Seite habe.

<!DOCTYPE html> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" /> 
<title>TEST</title> 
<script> 
$("#checkAll").change(function() { 
    $("input:checkbox").prop('checked', $(this).prop("checked")); 
}); 
</script> 
</head> 
<body> 
<form action="#"> 
    <p> 
    <label> 
     <input type="checkbox" id="checkAll" /> Check all</label> 
    </p> 

    <fieldset> 
    <legend>Loads of checkboxes</legend> 
    <p> 
     <label> 
     <input type="checkbox" /> Option 1</label> 
    </p> 
    <p> 
     <label> 
     <input type="checkbox" /> Option 2</label> 
    </p> 
    <p> 
     <label> 
     <input type="checkbox" /> Option 3</label> 
    </p> 
    <p> 
     <label> 
     <input type="checkbox" /> Option 4</label> 
    </p> 
    </fieldset> 
</form> 
</body> 
</html> 
</body> 
</html> 
+2

Legen Sie Ihr Skript am Ende, Sie versuchen, das Ereignis zuzuweisen, bevor die Kontrollkästchen tatsächlich erstellt werden. Um es oben arbeiten zu lassen, legen Sie es in eine document.ready-Funktion und jquery neeeds – CAllen

+1

Haben Sie jQuery auf Ihre ganze Seite importiert? Sind Sie sicher, dass Sie nicht mehr Elemente mit der ID "checkAll" auf Ihrer gesamten Seite haben? – Lixus

Antwort

1

Sieht so aus, als ob Sie die jQuery-Bibliothek nicht einschließen. Ohne es zu laden, wird jQuery nicht funktionieren. Außerdem haben Sie Ihren Body und Ihr HTML-Tag zweimal geschlossen.

Try this:

<html> 
 
<head> 
 
<meta http-equiv="Content-Type" content="text/html;" charset="utf-8" /> 
 
<title>TEST</title> 
 
</head> 
 
<body> 
 
<form action="#"> 
 
    <p> 
 
    <label> 
 
     <input type="checkbox" id="checkAll" /> Check all</label> 
 
    </p> 
 

 
    <fieldset> 
 
    <legend>Loads of checkboxes</legend> 
 
    <p> 
 
     <label> 
 
     <input type="checkbox" /> Option 1</label> 
 
    </p> 
 
    <p> 
 
     <label> 
 
     <input type="checkbox" /> Option 2</label> 
 
    </p> 
 
    <p> 
 
     <label> 
 
     <input type="checkbox" /> Option 3</label> 
 
    </p> 
 
    <p> 
 
     <label> 
 
     <input type="checkbox" /> Option 4</label> 
 
    </p> 
 
    </fieldset> 
 
</form> 
 
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 
 
<script> 
 
$("#checkAll").change(function() { 
 
    $("input:checkbox").prop('checked', $(this).prop("checked")); 
 
}); 
 
</script> 
 
</body> 
 
</html>

Was ich habe, ist getan jQuery umfassen <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> und hinzugefügt Ihr Skript es nach dem Laden. Es funktioniert jetzt gut!

+0

Danke. Ich bin noch neu in JQuery. Die extra/html und/body wurden beim Löschen von Code zurückgelassen. Habe nicht bemerkt, dass ich sie vermisst habe. – Markw