電子書籍の厳選無料作品が豊富!

チェックボックスに全てチェックをしたら、ボタンを押せるようにする実装をしたいです。
なので、チェックする前と、してる最中はボタンは押せないようにし、全てチェックできたら押せるようにしたいです。
Jqueryで書いていきたいのですが、どうやって書いたらよろしいでしょうか。
ご教示お願いします。

A 回答 (3件)

<script>


$(function(){
$(':checkbox').on('change',function(){
$('#btn').prop('disabled',$(':checkbox:not(:checked)').length>0);
}).eq(0).trigger('change');

});
</script>
<input id="btn" type="button" value="button">
<input type="checkbox">
<input type="checkbox">
<input type="checkbox">
    • good
    • 0

こんにちは



>全てチェックできたら押せるようにしたいです。
対象とするチェックボックスは存在するもの全部なのか、ある特定のボックス(群)のみなのかなどがよくわかりませんが、とりあえずこんなのでは?

※ ひとまず、.wrap内のcheckbox全部にしてありますが、一部などといった場合は、
 let inps = $('#wrap input[type="checkbox"]');
の部分を、対象とするcheckboxだけ取得するように変えれば、そのままで動作するはずです。

<!DOCTYPE HTML>
<html lang="ja">
<head><title>Sample</title>
<style>
label { display:block; }
</style>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.2. …
<script>
$(()=>{
let inps = $('#wrap input[type="checkbox"]');
inps.on('click',()=>{
$('#btn').prop('disabled', inps.filter(':not(:checked)').length);
});
});
</script>
</head>
<body>

<div id="wrap">
<label><input type="checkbox" value="c1" />check1</label>
<label><input type="checkbox" value="c2" />check2</label>
<label><input type="checkbox" value="c3" />check3</label>
<label><input type="checkbox" value="c4" />check4</label>

<button id="btn" type="button" value="b1" disabled>click meee!</button>
</div>
</body>
</html>
    • good
    • 0

var notAll = $('対象チェックボックス群').get().some(e => e.checked != true);


$('対象ボタン').prop('disabled', notAll);
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!