これを理解するのに問題があります。私は2つのチェックボックスを持っています(将来的にはもっと多くなるでしょう)。
checkSurfaceEnvironment-1
checkSurfaceEnvironment-2
基本的には、if文を書いて、片方がチェックされ、もう片方がチェックされていないかテストします。以下を達成するための最も簡単な方法は何ですか。
if ( $("#checkSurfaceEnvironment-1").attr('checked', true) &&
$("#checkSurfaceEnvironment-2").is('**(NOT??)** :checked') ) {
// do something
}
私が使っている信頼できる方法の1つは、
if($("#checkSurfaceEnvironment-1").prop('checked') == true){
//do something
}
チェックされた要素を繰り返し処理したい場合は、親要素を使用してください。
$("#parentId").find("checkbox").each(function(){
if ($(this).prop('checked')==true){
//do something
}
});
より詳しい情報:
すべてのチェックボックスにチェックボックスの実際の状態を格納するプロパティcheckedがあるため、これはうまく機能します。あなたが望むなら、あなたはページを調べてチェックボックスをチェックしてチェックを外してみることができます、そしてあなたは属性 "checked"(もしあれば)が変わらないことに気付くでしょう。この属性は、チェックボックスの初期状態のみを表し、現在の状態は表しません。現在の状態は、そのチェックボックスのdom要素のcheckedプロパティに格納されています。
HTMLの プロパティと属性 をご覧ください。
if (!$("#checkSurfaceEnvironment-1").is(":checked")) {
// do something if the checkbox is NOT checked
}
代替方法
これが 実用的な例 で、これがコードです。propも使用してください。
$('input[type="checkbox"]').mouseenter(function() {
if ($(this).is(':checked')) {
//$(this).prop('checked',false);
alert("is checked");
} else {
//$(this).prop('checked',true);
alert("not checked");
}
});
Checked属性を切り替える方法についてコメントしました。
if ( $("#checkSurfaceEnvironment-1").is(":checked") && $("#checkSurfaceEnvironment-2").not(":checked") )
私はavijendrが提案したようなもっと直接的な実装を探していました。
私は彼/彼女の文法に少し問題を抱えていました、しかし私はこれを働かせました:
if ($('.user-forms input[id*="chkPrint"]:not(:checked)').length > 0)
私の場合は、クラスuser-forms
を持つテーブルがあり、checkPrint
に文字列id
を含むチェックボックスのいずれかがオフになっているかどうかをチェックしていました。
あなたがそうであるように.attr()
でそれをするために、それがチェックされるかどうか見るためにそれは.attr("checked", "checked")
であり、そうでなければそれは.attr("checked") == undefined
であろう
ここで私はこの質問の抜粋をします。
$(function(){
$("#buttoncheck").click(function(){
if($('[type="checkbox"]').is(":checked")){
$('.checkboxStatus').html("Congratulations! "+$('[type="checkbox"]:checked').length+" checkbox checked");
}else{
$('.checkboxStatus').html("Sorry! Checkbox is not checked");
}
return false;
})
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
<p>
<label>
<input type="checkbox" name="CheckboxGroup1" value="checkbox" id="CheckboxGroup1_0">
Checkbox</label>
<br>
<label>
<input type="checkbox" name="CheckboxGroup1_" value="checkbox" id="CheckboxGroup1_1">
Checkbox</label>
<br>
</p>
<p>
<input type="reset" value="Reset">
<input type="submit" id="buttoncheck" value="Check">
</p>
<p class="checkboxStatus"></p>
</form>
チェックボックスがチェックされているかどうかをチェックする(jQueryを使った)最も簡単な方法は、
'checked'の場合:
if ($(this).is(':checked')) {
// I'm checked let's do something
}
(チェックされていない)場合:
if (!$(this).is(':checked')) {
// I'm NOT checked let's do something
}
状況を確認する方法は2つあります。
if ($("#checkSurfaceEnvironment-1").is(":checked")) {
// Put your code here if checkbox is checked
}
またはあなたもこれを使用することができます
if($("#checkSurfaceEnvironment-1").prop('checked') == true){
// Put your code here if checkbox is checked
}
これがあなたに役立つことを願っています。
これを試してください
if ($("#checkSurfaceEnvironment-1:checked").length>0) {
//your code in case of NOT checked
}
上記のコードでは、Id (#checkSurfaceEnvironment-1)
で要素を選択してから、(:checked)
filterでチェック状態を除外しています。
チェックされた要素オブジェクトの配列を返します。配列内にオブジェクトが存在する場合は、条件が満たされます。
すべてのchecboxがdivでチェックされている場合、trueを返します
function all_checked (id_div){
all_checked = true;
$(id_div+' input[type="checkbox"]').each(function() {
all_checked = all_checked && $('this').prop('checked');
}
return all_checked;
}
シンプルでチェックしやすい、または未チェックの状態
<input type="checkbox" id="ev-click" name="" value="" >
<script>
$( "#ev-click" ).click(function() {
if(this.checked){
alert('checked');
}
if(!this.checked){
alert('Unchecked');
}
});
</script>
これが最も簡単な方法です
<script type="text/javascript">
$(document).ready(function () {
$("#chk_selall").change("click", function () {
if (this.checked)
{
//do something
}
if (!this.checked)
{
//do something
}
});
});
</script>
私はこれを使用して私のために働いた!
$("checkbox selector").click(function() {
if($(this).prop('checked')==true){
do what you need!
}
});
私はこれがすでに答えられていることを知っています、それでも、これはそれをするための良い方法です:
if ($("#checkbox").is(":checked")==false) {
//Do stuff here like: $(".span").html("<span>Lorem</span>");
}
if($("#checkbox1").prop('checked') == false){
alert('checkbox is not checked');
//do something
}
else
{
alert('checkbox is checked');
}