切换复选框并在后台发送查询以更新数据库

时间:2017-11-24 11:02:34

标签: php jquery html checkbox

只要有人切换复选框。我想要一个发送到php页面的值,以便在我的数据库中更新它。

enter image description here

HTML:

<div class="form-group">
  <div class="tg-optionbox">
    <span>Promotional Video</span>
    <span class="tg-iosstylcheckbox">
     <input type="checkbox" id="video" name="video" value="video">
     <label for="video"></label>
      <div id="echo2"></div>
     </span>
   </div>
</div>

JQUERY:

$(document).ready(function(){
  $("input[type=checkbox]").click(function () {
      $.ajax({
          type: "POST",
          url: "get/update-feature.php",
          data: {
              value: $('input:checkbox:checker').val()
          },
          success: function(data) {
              $('#echo2').html(data); 
          }
      });
  });
});

PHP:

    <?
$sent_value = $_POST['value'];

if(isset($sent_value)){
        //update database
        echo "updated";
}else{
        //update database
}

        ?>

目前,我的jquery不起作用。我需要它:

  • 他们点击橙色复选框切换
  • Jquery识别出这一点并将复选框值发送到我的php页面
  • 我的php页面获取值并将其放入数据库

3 个答案:

答案 0 :(得分:2)

而不是echo使用“返回true”如果成功,则在PHP代码中为false

$(document).ready(function(){
  $("#video").click(function () {

    $.ajax({
          type: "POST",
          url: "get/update-feature.php",
          data: {
              value: $('input[type=checkbox]').val()
          },
          success: function(data) {
              $('#result').html(data); 
          }
      });
  });
});



<div class="form-group">
  <div class="tg-optionbox">
    <span>Promotional Video</span>
    <span class="tg-iosstylcheckbox">
     <input type="checkbox" id="video" name="video" value="video">
     <label for="video"></label>
      <div id="echo2"><p id="result"></p></div>
     </span>
   </div>
</div>

错误在$('input:checkbox:checker').val()中,因此该值不会发送到php文件,而success方法需要php中的返回值。我们需要使用“return”而不是“echo”

答案 1 :(得分:0)

使用.change()事件处理程序:

$('input:checkbox').change(function () {
    var name = $(this).val();
    var check = $(this).attr('checked');
    //Your Ajax code
});

答案 2 :(得分:0)

希望这可以帮到你。

  

HTML:未更改

<div class="form-group">
  <div class="tg-optionbox">
    <span>Promotional Video</span>
    <span class="tg-iosstylcheckbox">
     <input type="checkbox" id="video" name="video" value="video">
     <label for="video"></label>
      <div id="echo2"></div>
     </span>
   </div>
</div>
  

JavaScript:已更改

替换:value: $('input:checkbox:checker').val()value: $(this).prop("checked") ? 1 : 0

您必须发送单击复选框的值。因此,您必须使用$(this)

获取checkbox使用.prop("checked")的值。如果返回的值为true,则会进行检查。如果是false,则不会选中它。

因此,如果选中该复选框,则发送1。如果不是,则发送0

$(document).ready(function(){
  $("input[type=checkbox]").click(function () {
      $.ajax({
          type: "POST",
          url: "get/update-feature.php",
          data: {
              value: $(this).prop("checked") ? 1 : 0
          },
          success: function(data) {
              $('#echo2').html(data);
          }
      });
  });
});
  

PHP:已更改

如果值等于1或值等于0

<?php
$sent_value = $_POST['value'];

if(isset($sent_value)){
    if ($sent_value == 1) {
        echo "Checked" ;
    }
    else {
        echo "Un Checked" ;
    }
}
else{
    echo "Error" ;
}
?>