2016-12-16 115 views
0

我有一个表单可以用多个复选框来更新个人数据,这些复选框可以被初始选中或不选中。JS检查复选框是否被选中保留初始值

<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>如果我取消选中或选中复选框,则无关紧要。

我该如何修复它?

这里是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 
+0

你想做什么? :) –

+0

你的意思是在我无法理解的问题 –

+0

我有多个复选框其中一些是预先检查一些不是,当我发布输入值update_mission.php并做一个var_dump($ _ POST),所有复选框的值与我初始化时相同,当我点击它们时它们不会改变。 –

回答

0

使用$('#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) }); 
}); 
}); 
+0

仍然有这个问题 –

+0

发布您的update_mission.php文件。我认为问题与SQL或PHP。 – evtuhovdo

+0

我几天前做这件事,它工作是否需要一个特定的包括使.checked作品? –