2016-12-16 122 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作品? –