![](/img/trans.png)
[英]check/uncheck parent checkbox if all uncheck/check event on change with jQuery
[英]checkbox event only on check, not on uncheck
我希望我的代碼在選中復選框時將值1放入數據庫中,而在未選中時將值0放入數據庫中。 但是,我當前的代碼僅將行更新為1,而不更新為0。在過去的一個小時里,我一直在努力應對,這實在令人沮喪。
Java腳本
$('#onoffswitch6').change(function() {
var checked = $(this).is(':checked'); //true or false?
$.ajax({
type: "post",
url: "call.php",
data: { onOrOff : checked }
});
});
call.php
<?php
//Start session
session_start();
//Include database connection details
require_once('connection.php');
if(isset($_POST['onOrOff']))
{
if ($_POST['onOrOff'] == false) {
global $onOrOff;
$onOrOff = 0;
} else if ($_POST['onOrOff'] == true) {
global $onOrOff;
$onOrOff = 1;
};
$qry = "UPDATE member SET checkbox='$onOrOff' WHERE id='$_SESSION[SESS_MEMBER_ID]'";
$result = mysql_query($qry) or die("An error occurred ".mysql_error());
}
false
應該為'false'
true
應該為'true'
Php不會將ajax傳遞的值視為布爾值,但會將$_POST['onOrOff']
視為字符串,請運行此代碼,執行類似的操作。
if ($_POST['onOrOff'] == 'false') {
global $onOrOff;
$onOrOff = 0;
} else if ($_POST['onOrOff'] == 'true') {
global $onOrOff;
$onOrOff = 1;
};
在php中,您正在檢查值是否為true / false,但是輸入的是字符串“ true”或“ false”。 更改為
if ($_POST['onOrOff'] == "false") {...
或類似的東西
$onOrOff = ($_POST['onOrOff'] == "true" ? 1 : 0);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.