für jede JavaScript-Unterstützung in IE?
Habe ich diesen code:
<script>
function toggle(source) {
checkboxes = document.getElementsByName('DG1');
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
checkboxes = document.getElementsByName('DG2');
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
checkboxes = document.getElementsByName('DG3');
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
checkboxes = document.getElementsByName('DG4');
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
checkboxes = document.getElementsByName('DG5');
for each(var checkbox in checkboxes)
checkbox.checked = source.checked;
}
</script>
<input type="checkbox" onClick="toggle(this)" />Select All<br/>
<form method=POST action="DGUsageServlet">
<input type="checkbox" name="DG1">DG1</input>
<input type="checkbox" name="DG2">DG2</input>
<input type="checkbox" name="DG3">DG3</input>
<input type="checkbox" name="DG4">DG4</input>
<input type="checkbox" name="DG5">DG5</input>
</form>
Wie kann ich die obige Skript, um im IE funktioniert?
Kommentar zu dem Problem
Einrücken von code 4 Leerzeichen geben Sie die code-Formatierung.
InformationsquelleAutor der Frage user48094 | 2009-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beachten Sie, dass Firefox nicht mehr unterstützt, für jeden Schleifen, so gilt dies für jeder browser-nicht nur Internet Explorer. Sehen Sie diese MDN Artikel für alternativen.
Internet Explorer nicht unterstützt "for each" - Schleifen (zusammen mit anderen modernen Browsern, die abgebrochen haben, Unterstützung für Sie). Sie müssen den code ändern, um der Verwendung von regulären for-Schleifen:
Oder, könnte man eine Bibliothek wie jQuery und machen Sie es wie diese:
InformationsquelleAutor der Antwort Matthew Crumley
Oder Sie könnten versuchen, und verlängern das Array-Objekt für Browser, die keine Unterstützung für die foreach-Methode auf, wie hier vorgeschlagen:
https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Objects:Array:forEach#Compatibility
InformationsquelleAutor der Antwort
ich denke jQuery.jeder ist die beste Lösung für Sie
er iteriert über alle Elemente in dem array "idArr" und kann einige Sache mit jedes element.
InformationsquelleAutor der Antwort Rohit Dubey
Nativ IE8 ist veraltet foreach, aber wie verwende ich jQuery, entschied ich mich für jQuery.jeder um dieses problem zu überwinden.
Mein kopieren und einfügen aus der jQuery-API-Doc:
http://api.jquery.com/jQuery.each/
InformationsquelleAutor der Antwort renedet
Ist es möglich, unter Verwendung einer modifizierten form für jeden im Internet Explorer, die syntax ist wie folgt.
InformationsquelleAutor der Antwort Joseph
Hatte ich ein problem mit forEach auf IE 11
Und ich habe eine workaround-Lösung wie, dass
Es ist für mich in Ordnung.
InformationsquelleAutor der Antwort mamosek
Abgeschlossen Matthäus Crumley Antwort, Sie Mai auch haben ein problem mit der
getElementByName()
Fehler im IE, erläutert hier:(So funktioniert es in deinem Fall (
NAME
einerINPUT
Bereich), aber es ist zu gefährlich, um es in IE)Eine mögliche Lösung ist gegeben mit dieses Skript.
Hinweis: wenn Sie die Codierung einer
for
, alwatys fügen Sie dann umschließenden curling Klammern{ and }
: es ist sicherer. Wenn Sie fügen Sie eine zweite Zeile des Codes in der Schleife, es wird berücksichtigt werden durch diefor
block.InformationsquelleAutor der Antwort VonC
Ich würde es sauber etwas.
Aber Es funktioniert nur für die getElementById() (und nicht getElementsByName(), was ich nicht verstehen ). Fügen Sie einfach zu jedem input id='selectall', id='DG1'...
InformationsquelleAutor der Antwort Adriana