我正在使用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.
答案 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);
});