2017-08-31 7 views
0

これは私のコードです。ここで私は入力する]チェックボックスの両方に同じjsを使用して1つのチェックボックスを選択し、他のチェックボックスをオフにする方法

$(document).ready(function() { 
 
    $(document).on('change', ".check_class", function() { 
 
    $(".check_class").attr("checked", false); //uncheck all checkboxes 
 
    $(this).attr("checked", true); //check the clicked one 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row m-t-10 m-l-5"> 
 
    <div class="form-group row"> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> 
 
     <input type="checkbox" class="check_class" value="is_email" name="is_email"> 
 
     Email send? 
 
     </label> 
 
    </div> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> 
 
     <input type="checkbox" class="check_class" value="is_sms" name="is_sms"> 
 
     Sms send? 
 
     </label> 
 
    </div> 
 
    </div> 
 
</div>

をクラス名を与えている私は多くのことを試してみましたが、そのまだ機能していません。何か間違い。ありがとうございました。あなたは以下のようにprop()代わりのattr()を使用する場合

+3

これらのチェックボックスの一方のみがちょうどラジオボタンを使用して、一度にチェックする必要がある場合 - それは彼らがために設計されたまさにです。 –

+1

いいえチェックボックスが必要です.. – sradha

+0

何故ですか? –

答えて

1

あなたのコードは正常に動作します: -

$(document).ready(function() { 
 
    $(document).on('change', ".check_class", function() { 
 
    $(".check_class").prop("checked", false); 
 
    $(this).prop("checked", true); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row m-t-10 m-l-5"> 
 
    <div class="form-group row"> 
 
     <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> <input type="checkbox" class="check_class" value="is_email" name="is_email">Email send?</label> 
 
    </div> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> <input type="checkbox" class="check_class" value="is_sms" name="is_sms">Sms send?</label> 
 
    </div> 
 
    </div> 
 
</div>

注: - あなたは、ラジオボタンのために行くことができます彼らはデフォルトでそれを持っているからです。

参考: - why .attr() not worked but .prop() worked

1
$(document).on('change', ".check_class", function() { 
     $(".check_class").each(function(index,element){ 
        element.attr("checked", false); 
     }); //uncheck all check-boxes 

}); 
1

これらのチェックボックスの一方のみがラジオボタンを使用するだけで、一度にチェックする必要があります。それは彼らがために設計されたまさにだし、それはまったくのJSコードの必要性を保存します。あなたは他のすべてのチェックボックスをオフにnot(this)を使用することができます

<div class="row m-t-10 m-l-5"> 
 
    <div class="form-group row"> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> 
 
     <input type="radio" class="check_class" value="is_email" name="send"> 
 
     Email send? 
 
     </label> 
 
    </div> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> 
 
     <input type="radio" class="check_class" value="is_sms" name="send"> 
 
     Sms send? 
 
     </label> 
 
    </div> 
 
    </div> 
 
</div>

0

$(document).ready(function() { 
 
    $(document).on('change', ".check_class", function() { 
 
    $(".check_class").not(this).prop('checked', false); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="row m-t-10 m-l-5"> 
 
    <div class="form-group row"> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> <input type="checkbox" class="check_class" value="is_email" name="is_email">Email send?</label> 
 
    </div> 
 
    <div class="col-sm-4"> 
 
     <label class="checkbox-inline"> <input type="checkbox" class="check_class" value="is_sms" name="is_sms">Sms send?</label> 
 
    </div> 
 
    </div> 
 
</div>

関連する問題