我想在取消选中时为检查设置值。但每次我发布我的数据无论是检查还是未检查,该值都将为'1'
我尝试在!isset($check)
中设置post.php
,但该值也将为1.
取消选中复选框时,如何设置不同的值。
<input type="checkbox" id="check" name="check" value="1">
jquery代码如下:
var check = $('#check').val();
var Data = {check:check};
$.ajax({
type:"POST",
url:"post.php",
data:Data,
beforeSend: function() {
$("#btn-submit").html('sending');
},
success: function(data) {
}
});
答案 0 :(得分:2)
您应该使用is(':checked')
来确定是否选中了复选框:
$("#check").on('change', function() {
var checkFlag = 'unchecked';
if ($(this).is(':checked')) {
checkFlag = 'checked';
}
console.log(checkFlag);
$.ajax({
type: "POST",
url: "post.php",
data: {
check: checkFlag
},
beforeSend: function() {
$("#btn-submit").html('sending');
},
success: function(data) {}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="check" name="check" value="1">
答案 1 :(得分:0)
尝试以下方法:
var check = $('#check').is(":checked");
选中复选框时
您将获得true
未选中复选框时
您将获得false
答案 2 :(得分:0)
问题是因为无论是否选中该元素,复选框的window.open(URL, name,)
始终相同。
要执行您需要的操作,您可以根据val()
状态设置值。试试这个:
checked
答案 3 :(得分:0)
if ($("#check").is(':checked')) {
var check = $('#check').val();
}else{
var check = 0;
}
var Data = {check:check};
$.ajax({
type:"POST",
url:"post.php",
data:Data,
beforeSend: function() {
$("#btn-submit").html('sending');
},
success: function(data) {
}
});