/ / Wie deaktiviere ich eine Schaltfläche, wenn ich die Kontrollkästchen in einer Tabelle in Node JS ändere? - Javascript, jquery, html, node.js

Wie deaktiviere ich eine Schaltfläche beim Ändern der Checkboxen in einer Tabelle in Node JS? - javascript, jquery, html, node.js

Ich habe eine Tabelle mit Bildern und Kontrollkästchen. Ich habe versucht, eine Senden-Schaltfläche beim Ändern des Kontrollkästchens in der Tabelle zu aktivieren. Mein Tisch ist wie folgt,

<form action="/slideShowPage" method="GET">
<table id="imgTable" class="table">
{{#images}}
<tr>
<td><a href="/deleteImage?imageID={{imgURL}}" class="btn btn-danger" title="Clear All">Remove</a><label value={{imgURL}}>{{imgURL}}</label></td>
<td><img src={{imgURL}} style="width:100px;height:100px"></td>
<td><input id={{imgURL}} type="checkbox" name="image" value={{imgURL}}/><br></td>
</tr>
{{/images}}
</table>
<br>
{{#msg}}
<div class="alert alert-info">{{msg}}</div>
{{/msg}}

<a href="/" class="btn btn-success pull-right" title="Add More">Add more</a>
<input type="submit" value="Create Slide Show" class="btn btn-success pull-left" disabled/>
</form>

Ich habe versucht, die Schaltfläche mit dem folgenden Javascript zu aktivieren,

<script type="text/javascript">
var checkboxes = $("input[type="checkbox"]"),
submitButt = $("input[type="submit"]");
checkboxes.click(function () {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
</script>

Ich habe dieses Javascript von JSFidel. Aber es "funktioniert nicht. Auch ich benutze NodeJS und meine jquery Version ist jquery-2.0.3. Kann mir jemand helfen, das zu beheben?

Danke im Voraus!

Antworten:

0 für die Antwort № 1

Setzen Sie die Eigenschaft disabled des Elements auf false

submitButt.disabled = false; Wenn Sie jQuery verwenden, wäre das Äquivalent:

$ ("input [type =" submit "]"). prop ("disabled", false);

oder Geben Sie dem Eingabeelement eine ID oder Klasse wie "inputDisabled". $ (". inputDisabled"). removeAttr ("disabled");


0 für die Antwort № 2

Ich habe die Lösung dafür gefunden.

<script type="text/javascript">
$( document ).ready(function() {
console.log("Cheeeee 1");
var checkboxes = $("input[type="checkbox"]"),
submitButt = $("input[type="submit"]");

checkboxes.change(function() {
console.log("Cheeeee");
submitButt.attr("disabled", !checkboxes.is(":checked"));
});
});
</script>

Weil die Seite nicht sicher manipuliert werden kann, bis das Dokument "fertig" ist. JQuery erkennt diesen Bereitschaftszustand für Sie. Code enthalten $( document ).ready() wird erst ausgeführt, wenn die Seite Document Object Model (DOM) für die Ausführung von JavaScript-Code bereit ist.


0 für die Antwort № 3

Versuche dies.

Binden Sie an das Änderungsereignis anstelle des Klickereignisses.

var checkboxes = $("input[type="checkbox"]"),submitButt = $("input[type="submit"]");

checkboxes.change(function() {
submitButt.attr("disabled", !checkboxes.is(":checked"));
});