PHP jquery设置复选框值,如果选中或未选中并发布
Posted
技术标签:
【中文标题】PHP jquery设置复选框值,如果选中或未选中并发布【英文标题】:PHP jquery set checkbox value if checked or unchecked and post 【发布时间】:2017-12-21 14:37:30 【问题描述】:我想在未选中时为检查设置值。但是每次我发布我的数据时,无论它是选中还是未选中,值都会是'1'
我尝试在post.php
中设置!isset($check)
,但该值也将为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)
);
【问题讨论】:
:checked
选择器。 prop('checked')
或其他方式。网上到处都是教程。
$('#check').val();
更改为 $('#check').is(":checked");
将根据状态发送 true 或 false
【参考方案1】:
您应该使用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">
【讨论】:
我看不出这如何帮助 OP 在他的 AJAX 请求中发送值? 好吧,它让你知道它是否被检查,他只需要将它作为参数发送。【参考方案2】:问题是因为无论元素是否被选中,复选框的val()
总是相同的。
要执行您需要的操作,您可以根据checked
状态设置值。试试这个:
var $check = $('#check');
$.ajax(
type: "POST",
url: "post.php",
data:
check: $check.prop('checked') ? $check.val() : 0
,
beforeSend: function()
$("#btn-submit").html('sending');
,
success: function(data)
// do something with the response
);
【讨论】:
【参考方案3】:尝试以下方法:
var check = $('#check').is(":checked");
选中复选框时
你会得到true
未选中复选框时
你会得到false
【讨论】:
【参考方案4】: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)
);
【讨论】:
以上是关于PHP jquery设置复选框值,如果选中或未选中并发布的主要内容,如果未能解决你的问题,请参考以下文章
用jquery把复选框checkbox选中的值放入input框中