获取jQuery php中点击项目的总数

时间:2016-01-12 05:09:21

标签: javascript php jquery ajax

我正在使用api服务开发像redbus这样的在线巴士预订网站。 坚持计算预订座位总数。

这是工作流程

从api获取总线列表并在html表中显示它们:

<?php $i=0; foreach($result['apiAvailableBuses'] as $value){?>

    ?>
      //display each bus details
    <?php }?>

发出一个ajax请求,让每个总线座位结构都带有一些参数(ajax请求处于循环中)。

$.ajax({
             url:'<?php echo base_url();?>agentdashboard/ajax_buslayout',
             method:"POST",
             data:{
                  source:$("input[name=source]").val(),
                  dest:$("input[name=dest]").val(),
                  doj:$("input[name=doj]").val()
                },
             success:function(data){
                 $('#result'+id).html(data);

             },
             error:function(err){

             }
          });

php code

foreach($result['seats'] as $value)
{
  echo "<div class='seat $booked' data-number='$seat' $book_seat amount='$total'><img src='".base_url()."assets/images/seat.png' width='20' height='20' title='$seat'></div>";
}
 echo "<div class='clearfix'></div><br><center><strong id='amount'>Amount:0</strong></center>";

当点击每个座位时,我会将点击的座位号码存储到seat_count阵列以查找总金额。

$(document).on("click",".seat",function(){
  //store the number of clicked seats.
  var seat_count = [];
  //seat number of each seat.
  var seat_no = $(this).attr("data-number");
    seat_count.push(seat_no);    
    alert(seat_count.length);
    $("#amount").text('Amount: '+seat_count.length * amount);
});

但问题是我无法获取seat_count数组中的值,我只得到一个值。

alert(seat_count.length)

仅返回1.

2 个答案:

答案 0 :(得分:0)

声明'var seat_count = [];'在click事件处理函数之外。每次'seat_count'重新初始化。

答案 1 :(得分:0)

var seat_count = [];
$(document).on("click", ".seat", function () {
    //seat number of each seat.
    var seat_no = $(this).attr("data-number");
    seat_count.push(seat_no);
    alert(seat_count.length);
    $("#amount").text('Amount: ' + seat_count.length * amount);
});