选中或取消选中复选框时的Ajax,jQuery-更新数据库

时间:2013-04-04 07:39:18

标签: php jquery mysql ajax checkbox

我有一个系统让管理员为特定折扣类型设置折扣已启用或已禁用,折扣值已在数据库中设置:

<li>Discount For Items</li>
<li><input type="checkbox" class="discount" value="1"></li>

<li>Discount For General Ordesr</li>
<li><input type="checkbox" class="discount" value="2"></li>

<li>Discount For Preferred Customer</li>
<li><input type="checkbox" class="discount" value="2"></li>

我想使用jQuery / Ajax更新行enable(布尔值),如果它是checked然后选择discount type,如果unchecked禁用discount type
我真的需要你的帮助,希望我的解释是可以理解的。

2 个答案:

答案 0 :(得分:1)

你可以尝试这样的事情:

$(document).ready(function(){
  $('input.discount').change(function(){

    $this = $(this);

    $.post(
      "my-php-file.php",
      {
        value: $this.val(),
        checked: $this.is(':checked')
      },
      function(data){
        // do something with returned data
      },
      'json'
    );
  });
});

答案 1 :(得分:1)

使用jQuery你可以做类似的事情,但你需要你的服务器端逻辑(服务)来进行实际的数据库操作(我们将 discount-type 作为类型传递以及AJAX POST请求)。

    <li>Discount For Items</li>
    <li><input type="checkbox" class="discount" data-discount-type="all" /></li>

    <li>Discount For General Ordesr</li>
    <li><input type="checkbox" class="discount" data-discount-type="general" /></li>

    <li>Discount For Preferred Customer</li>
    <li><input type="checkbox" class="discount" data-discount-type="customer" /></li>

    // JavaScript
    $(function(){
       var url = 'my-php-file.php';

       $('input:checkbox').on('click', function(){
           var $this = $(this);
       if($this.prop('checked'))
          $.post(url,{type : $this.data('discount-type') }).done(function(response){
             // success custom logic
          });
      });
    });