Wie kann ich das deaktivieren der HTML-textfield mit diesem einfachen jQuery?
Habe ich diese einfache jQuery-code zu testen.
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("text").attr("disabled","");
});
});
</script>
</head>
<body>
<input type="text">
<br />
<button>Set the textfield disabled</button>
</body>
</html>
Grundsätzlich die HTML-Seite kommt mit einem einfachen button und textfield. Alle ich möchte das Eingabefeld deaktiviert da ich auf die Schaltfläche klicke. Aber es funktioniert nicht???
(PS: dieser code stammt aus w3schools.com website, nur um zu probieren Sie einfach aus, wie mächtig jQuery ist)
- Das erklärt, warum W3School nicht geschätzt hier. die HTML ist nicht gültig. Blick auf das text-element...
- Was ist Los mit der
<input type="text">
element? Es ist nicht richtig geschlossen? Ist das nicht gültig in HTML5?<input>
Elemente nie Inhalt haben, so ist es eindeutig. - Blick auf meine Antwort. Sollte es mit Selbsteinzug
<input />
wie jedes XML-element. - Ihre Antwort erklärt nicht alles. HTML ist nicht XML (nicht zu verwechseln mit XHTML). Es ist optional. Lesen Sie die spec. Oder siehe stackoverflow.com/questions/3008593/...
- Du hast Recht, aber "Kleinere Geräte haben oft nicht die Mittel oder die macht, zu interpretieren, eine "schlechte" markup-Sprache". es ist also schlecht pracitce schreiben ungültigen XHTML-code. IMO.
- Ich Stimme mit Ihnen überein, dass es eine gute übung, um richtig zu beenden, Ihr Elemente, ich bin nur darauf hin, dass Ihre Aussage, dass die "HTML ist nicht gültig" ist falsch. Seine XHTML nicht gültig ist, sicher. Die w3schools' Beispiel entspricht die Skillung ganz gut.
- Punkt getroffen. danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Von jQuery 1.7, könnten Sie
.prop
:Bevor 1.7, die man tun könnte:
PS: Verwenden Sie
$(":text")
oder$('input[type="text"]')
auswählen, um alle Elemente vom Typ text..prop()
über.attr()
fürdisabled
.Versuchen Sie dies:
Oder (moderner):
Es ist nicht
text
Selektor injquery
. Sie müssen den Attribut-Selektor[attribute=value]
oder:
es ist ein
:text
- Selektor, aber es ist weniger gründlich, aber dann ist die erste option finden Sie in der docs:Beachten Sie, dass Ihre XHTML nicht gültig ist. Sie sollte in der Nähe der
<input type="text">
=><input type="text" />
$("input").attr("disabled","disabled");
"deaktiviert" ist eine Eigenschaft, kein Attribut per se. Boolesche Werte wie "geprüft" oder "deaktiviert" bekommen nicht immer aktualisiert (oder abgerufen) richtig, wenn der Zugriff auf diese Weise. Verwenden
statt.
:text
ist obwohl. Aktualisiert. Ich denke, ich dachte, er würde haben geprüft, ob die Auswahl war passend zu jedem Elemente.