2016-01-12 65 views
0

我正在開發一個在線巴士預訂網站,如使用api服務的紅巴總線。 卡住並計算預訂座位的總金額。在jQuery中獲取點擊項目的總數php

這裏是工作流程

獲取公交車的名單,從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代碼

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

+4

seat_count看起來是本地的,並重置每次點擊。嘗試在全球範圍內進行點擊。 – Naterade

+0

如何?我嘗試了動態變量方法,但沒有奏效 –

+0

你能告訴你如何聲明它是全局的嗎? – Naterade

回答

0

聲明 'VAR seat_count = [];'點擊事件處理函數之外。每次'seat_count'重新初始化。

+0

整個ajax請求在foorloop中重複 –

+0

更新我的問題 –

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); 
}); 
+0

更新了我的問題。 –

+0

如果用戶取消選擇相同的座位,該怎麼辦? – charlietfl

+0

金額將被扣除 –

相關問題