如何根据选中的复选框使用jQuery更改复选框的值?

时间:2019-09-04 06:08:25

标签: jquery checkbox

如果复选框的选中值将为1,如果未选中的值为0

我可以获取是否被检查,但如果检查值将为1,则不能更改值;如果未检查值将为0,则无法更改

HTML

<input type="checkbox" value="0" class="custom-control-input" name="is_Current" id="isCurrentExperience">

当前

jQuery

$('#isCurrentExperience').change(function () {
        if ($('#isCurrentExperience').is(':checked') == true){
            $('#endDate').val('').prop('disabled', true);
            //console.log('checked');
        } else {
            console.log($('#isCurrentExperience').val('0'));
            $('#endDate').val('').prop('disabled', false);
            //console.log('unchecked');
        }
    });

但在检查或未检查之后也需要更改值。

2 个答案:

答案 0 :(得分:1)

您可以根据需要分配$('#isCurrentExperience').val('0');$('#isCurrentExperience').val('1');之类的值。请参阅下面的解决方案

$('#isCurrentExperience').change(function () {
        if ($('#isCurrentExperience').is(':checked') == true){
           $('#isCurrentExperience').val('1');
           //other things
            console.log('checked');
        } else {
           $('#isCurrentExperience').val('0');
           //other things
            console.log('unchecked');
        }
        
        console.log("CURRENT VALUE IS: "+$('#isCurrentExperience').val())
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="checkbox" value="0" class="custom-control-input" name="is_Current" id="isCurrentExperience">

答案 1 :(得分:0)

您的代码应与复选框上的.val()函数一起使用,以将值从0更改为1,反之亦然。 另外,一旦所有DOM准备就绪,请确保将更改事件处理程序绑定到复选框,因此请使用“ doucument.ready”,以确保加载了DOM 请参见下面的代码

$(document).ready(function(){
    $('#isCurrentExperience').on('change', function(){
          var value = $(this).is(':checked')?'1':'0';
          $(this).val(value); // set value as per checked status
          console.log($(this).val());//print value
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
<input type="checkbox" value="0" class="custom-control-input" name="is_Current" id="isCurrentExperience">