如何在PHP while循环中显示Ajax响应

时间:2018-05-27 09:03:07

标签: javascript php jquery ajax

我在PHP循环中有以下输入框:

echo '<ul>';
  while ( $data = $supplier->result->fetch_assoc()) {
    $sid          =  (int) $data['sid'];
    $supplierName = output($data['supplierName']);
    $vid          = output($data['vid']);

    echo "
    <li>
      <input type='checkbox' name='sid[]' data-sid='$sid' value='{$sid}|$vid' class='supplierClass'> $supplierName
      <div class='allVehicle'></div>
    </li>
    ";  
  }
echo '</ul>';

现在当我点击一个复选框时,它正在使用jQuery / Ajax调用另一个PHP页面,但结果没有显示。

jQuery / Ajax代码:

$('.supplierClass').change(function() {    
   var sids = [];
   $('.supplierClass:checked').each(function(i,v) {
       sids.push($(v).val());
    });
    $.ajax({
      url         :   'process/get-vehicle.php',
      type        :   'POST',
      dataType    :   'html',
      data        :   {
        sid   :  sids,
      },
      beforeSend  :   function () {
          $(this).next('.allVehicle').html('Please wait...');
      },
      success     :   function ( result ) {
          $(this).next('.allVehicle').html(result);
      }
   });  
});

我认为问题出在这条线上,但不确定。

beforeSend  :   function () {
    $(this).next('.allVehicle').html('Please wait...');
},
success     :   function ( result ) {
    $(this).next('.allVehicle').html(result);
}

1 个答案:

答案 0 :(得分:0)

改变它,如果有效!

$(document).ready(function() {
  var div;

  $("p").hide();
  $(".div1").on("click", function() {
    $("p").show();
    div = 'div 1';
  });

  $(".div2").on("click", function() {
    $("p").show();
    div = 'div 2';
  });

  $("p").click(function() {
    alert("p inside " + div);
  });
});

如果没有完成,那么https://api.jquery.com/next/可以访问这里。