[英]JS check if checkbox is checked keep initial value
我有一个表单,用于更新带有多个复选框的个人数据,这些复选框可以被初始检查或不被检查。
<form method="post" id="up_mission">
<input checked type="checkbox" id="first">
<input type="checkbox" id="second">
<button class="btn btn-default" type="submit" id="update_mission<?php echo $id_mission ?>"</button>
</form>
和JS:
$(function() {
$("form[id^='up_mission']").submit(function() {
var value1 = document.getElementById("first").checked;
var value2 = document.getElementById("second").checked;
$.post("update_mission.php", {value1: value1, value2:value2}, functon(data) { console.log(data) });
});
});
在update_mission.php
有一个简单的SQL查询可使用新闻值进行更新,我也可以执行var_dump($_POST);
并且为第一和第二打印的值始终是我最初在<input>
中<input>
,如果我取消选中或选中复选框,则无所谓。
我该如何解决?
这是php文件的一部分:
var_dump($_POST);
$first = $_POST['value1'];
$second = $_POST['value2'];
if ($first == "true") { $first = "on";}
else {$first = "0";}
if ($second == "true") { $second = "on";}
else {$second = "0";}
update_miss = "UPDATE table SET First = 'first', Second = 'second'[...] WHERE my_condition";
// I connect to my DB, and do the query, and there is no problem here
// I also have text input in my form and they update pretty well
使用$('#first').is(':checked')
和$('#second').is(':checked')
检测复选框的状态。
$(function() {
$("form[id^='up_mission']").submit(function() {
var value1 = $('#first').is(':checked') ? 1 : 0;
var value2 = $('#second').is(':checked') ? 1 : 0;
$.post("update_mission.php", {value1: value1, value2: value2}, functon(data) { console.log(data) });
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.