2016-03-21 2 views
1

Я пытаюсь обновить значение в БД при установке флажка (1 или 0) с помощью jquerys $ .post или $ .ajax. Я бы очень признателен за помощь. Вот мой код:Как обновить базу данных при установке флажка с помощью jquery?

HTML

<div class="onoffswitch"> 
    <?php 
    $yesno = (bool)$baner['noti']; 
    $checked = ($yesno) ? 'checked="checked"' : ''; 
    ?> 
    <input type="checkbox" name="onoffswitch" class="onoffswitch-checkbox" value="1" id="myonoffswitch" <?php echo $checked; ?>> 
    <label class="onoffswitch-label" for="myonoffswitch"></label> 
</div> 

JQuery

$(function(){ 
    $("#myonoffswitch").click(function(){ 
     $.post("notification.php"); 
     }) 
    }); 

notification.php

connections stuffs... 

$yesno = (isset($_POST['onoffswitch'])) ? 1 : 0; 
$sql = "UPDATE baner SET noti='$yesno'"; 
+1

Что похоже на ошибку? Не кажется, что вы отправляете какие-либо данные с вашим почтовым запросом. Вы можете найти документацию для ['post()'] (http://api.jquery.com/jquery.post/), особенно [примеры] (http://api.jquery.com/jquery.post/# начального примеры). – showdev

ответ

2

Вы почти га это его. вам просто нужно прочитать свое состояние флажка и отправить его обратно с запросом POST.

$(function(){ 
    $("#myonoffswitch").click(function(){ 
     var isOn = $("#myonoffswitch").prop("checked"); 
     $.post("notification.php", { 'onoffswitch': isOn }, function (result) { 
      //handle success here 
     }); 
    }); 
+0

Спасибо за ваш повтор. Я получаю ошибку в этой строке: var isOn $ ("# myonoffswitch"). Prop ("checked"); – mALEFACTOr

+0

Я думаю, что отсутствует знак равенства. Но это не будет работать для меня с или без. Есть идеи? Когда я меняю вручную на 0, это меняет первый раз, когда я нажимаю на 1, но он не возвращается к 0. – mALEFACTOr

+0

@mALEFACTOr, вы правы, равно знаку добавлен. –

0

Tyr this with $ .ajax. Он широко используется для обновления данных без страницы перенаправления.

$("#myonoffswitch").click(function(){ 
    $.ajax({ 
     var onoffswitch=$('#myonoffswitch').val(); 
     type: "POST", 
     url: "notification.php", //Relative or absolute path to notification.php file 
     data: {onoffswitch: onoffswitch}, 
     success: function(response) { 
       content.html(response); 
     } 
    }); 

});

notification.php

соединений питания ...

$ YesNo = (Исеть ($ _ POST [ 'onoffswitch']))? 1: 0; $ sql = "UPDATE baner SET noti = '$ yesno'";

Смежные вопросы