复选框值更改为1但未选中时则无法更改为0
$('.ChkBox').change(function() {
if ($(this).attr('checked')) {
$(this).val('1');
} else {
$(this).val('0');
}
alert($(this).val());
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" checked data-plugin="switchery" data-color="#648c2c" data-size="small" value="0" class="ChkBox" name="sms[]" />
&#13;
在警报中我总是得到1.
默认值为0并检查。 我想要它,以便当盒子未经检查时我得到1,当检查时我得到0.请告诉我我做错了。
答案 0 :(得分:1)
您可以使用解决方案
$('.ChkBox').change(function() {
if ($(this).prop('checked')) {
$(this).val('1');
} else {
$(this).val('0');
}
console.log($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" checked data-plugin="switchery" data-color="#648c2c" data-size="small" value="0" class="ChkBox" name="sms[]" />
请使用.attr
(属性)
.prop
答案 1 :(得分:0)
您可以放置.attr
和ternary condition
is(':checked')
$('.ChkBox').change(function() {
$(this).val( $(this).is(':checked') ? '1' : '0' );
console.log($(this).val());
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" checked data-plugin="switchery" data-color="#648c2c" data-size="small" value="0" class="ChkBox" name="sms[]" />
&#13;
答案 2 :(得分:0)
试试这个:
我刚刚在HTML中使用了onclick事件并进行调试,我使用了Jquery。如果您不需要,可以删除Jquery。
$(".ChkBox").on("change", function() {
var a = $(this).val();
alert(a);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" checked data-plugin="switchery" data-color="#648c2c" data-size="small" value="0" class="ChkBox" name="sms[]" onclick="$(this).attr('value', this.checked ? 1 : 0)"/>
希望这会有所帮助。