/ / Node JSのテーブルのチェックボックスを変更するときにボタンを無効にするには? - javascript、jquery、html、node.js

ノードJSのテーブルのチェックボックスを変更するときにボタンを無効にする方法は? - javascript、jquery、html、node.js

いくつかの画像とチェックボックスが入ったテーブルがあります。テーブル内のanyチェックボックスを変更する際に送信ボタンを有効にしようとしました。私のテーブルは以下のようなものです。

<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>

以下のJavaScriptを使用してボタンを有効にしようとしました、

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

私はからこのJavaScriptを得た JSFiddle。しかし、それは「機能していません。また、私はNodeJSを使用しています。私のjqueryバージョンは jquery-2.0.3。誰かが私がこれを直すのを手伝ってくれる?

前もって感謝します!

回答:

回答№1は0

要素のdisabledプロパティをfalseに設定します

submitButt.disabled = false; あなたが "jQueryを使用している場合、同等のものは以下のようになります。

$( "input [type =" submit "]")。prop( "disabled"、false);

または "inputDisabled"のように入力要素にidまたはクラスを与えます。 $( "。inputDisabled")。removeAttr( "disabled");


回答№2の場合は0

私はこれに対する解決策を見つけました。

<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>

「ドキュメントが「準備完了」になるまでページを安全に操作することができないからです。jQueryはこの準備状態を自動的に検出します。 $( document ).ready() ページDOM(Document Object Model)がJavaScriptコードを実行する準備が整った後にのみ実行されます。


回答№3の場合は0

これを試して。

クリックイベントの代わりにchangeイベントにバインドします。

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

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