チェックボックスの判定をするjQueryと、チェックボックスの取得、外し方も一緒にご紹介します。
まずは判定、取得、チェックを外すボタンの全部入ったデモをどうぞ!
DEMO
あなたの好きな麺は?
HTML
<div class="demo1">
<p>あなたの好きな麺は?</p>
<form>
<ul>
<li>
<label><input type="checkbox" >蕎麦</label>
</li>
<li>
<label><input type="checkbox" >スパゲッティ</label>
</li>
<li>
<label><input type="checkbox" >吉牛</label>
</li>
</ul>
<div class="checker">
<span>全てチェック</span><span>全て外す</span>
</div>
<div class="btn">GO!</div>
</form>
</div>
CSS
.demo1 {
border: 1px solid #515151;
border-radius: 12px;
padding: 8% 4%;
margin: 4% 0;
width: 94%;
max-width: 400px;
min-width: 288px;
text-align: center;
}
.demo1 p {
font-size: 26px;
font-weight: bold;
margin-top: 0;
line-height: 1.3;
}
.demo1 ul {
padding: 0 !important;
}
.demo1 li {
font-size: 20px;
text-align: left;
padding-left: 4%;
width: 259px;
display: block;
border-bottom: 1px solid #d2cece;
margin: 0 auto 6px !important;
}
.demo1 li label {
display: block;
padding-bottom: 6px;
}
.checker {
width: 100%;
display: block;
margin: 6% auto;
}
.checker span {
display: inline-block;
margin: 0 6px;
padding: 6px 15px;
font-size: 16px;
border-radius: 6px;
color: #fff;
cursor: pointer;
}
.checker span:nth-of-type(1) {
background: #00c6b9;
}
.checker span:nth-of-type(2) {
background: #777777;
}
.demo1 .btn {
display: block;
padding: 10px 24px;
background: #00c6b9;
color: #fff;
border-radius: 6px;
width: 259px;
min-width: 120px;
font-size: 26px;
font-weight: bold;
margin: 6% auto 0;
cursor: pointer;
}
jQuery
$(".checker span").eq(0).on("click", function() {
$(".demo1 li input").attr("checked", true).prop("checked", true).change();
});
$(".checker span").eq(1).on("click", function(){
$(".demo1 li input").removeAttr("checked").prop("checked", false).change();
});
var txt;
$(".demo1 .btn").on("click", function() {
if($(".demo1 li").eq(0).find("input").prop("checked") && $(".demo1 li").eq(1).find("input").prop("checked") && $(".demo1 li").eq(2).find("input").prop("checked")) {
txt = "全部選んじゃったか。。。。"
} else if($(".demo1 li").eq(0).find("input").prop("checked") && $(".demo1 li").eq(1).find("input").prop("checked")) {
txt = "蕎麦もスパゲッティも美味しいよね~!"
} else if($(".demo1 li").eq(0).find("input").prop("checked") && $(".demo1 li").eq(2).find("input").prop("checked")) {
txt = "蕎麦は麺だけど、吉牛は、食べたいよね~。"
} else if($(".demo1 li").eq(1).find("input").prop("checked") && $(".demo1 li").eq(2).find("input").prop("checked")) {
txt = "スパゲッティは麺だけど、吉牛は、食べたいよね~。"
} else if($(".demo1 li").eq(0).find("input").prop("checked")) {
txt = "蕎麦美味しいよねぇ。"
} else if($(".demo1 li").eq(1).find("input").prop("checked")) {
txt = "スパゲッティ美味しいよねぇ。"
} else if($(".demo1 li").eq(2).find("input").prop("checked")) {
txt = "麺じゃなくても吉牛は食いたい。"
} else {
txt = "選んで欲しいな。"
}
alert(txt);
$(".demo1 li input").removeAttr("checked").prop("checked", false).change();
});
チェックボックスの状態を取得・判定
チェックボックスの状態判定には「.prop(“checked”)」を利用します。
目的の要素がチェックされていたら、処理を実行できます。
if($("input[name='checkbox1']").prop("checked")) {
// 「input[name='checkbox1']」にチェックが有る時の処理
} else {
// 「input[name='checkbox1']」にチェックが無い時の処理
}
チェック状態にする
チェックボックス全てにチェックを入れる場合、チェックを入れたい要素に対して「.attr(“checked”, true).prop(“checked”, true).change()」を利用します。
$("input[name='checkbox1']").attr("checked", true).prop("checked", true).change();
チェック状態を解除
チェックボックス全てのチェックを解除する場合、チェックを解除したい要素に対して「.removeAttr(“checked”).prop(“checked”, false).change()」を利用します。
$("input[name='checkbox1']").removeAttr("checked").prop("checked", false).change();







コメント