2015-10-07 51 views
0

我正在構建一個電子商務應用程序,用戶可以選擇該選項並通過jquery自動更新購物車。Jquery點擊沒有被調用的問題

用戶將有幾個單選按鈕可供選擇,並且當他選擇單選按鈕時,購物車將被更新。

現在,我面對的問題是,當他點擊單選按鈕(移動網站)時,有些時候,回調函數根本不會被調用,因此購物卡沒有更新。

我不是專家,但你能告訴我我是否缺少任何東西。這是我正在使用的代碼。

HTML代碼

<div class="col-33"> 
    <div class="panel1 panel-primary text-center no-border"> 
     <div class="panel-body blue"> 

      <label> 
       <input type="radio" name="recharge_amount" value="{var name='price_id'}"/><br/>{var name='grand_total1'} 
       <input type="hidden" id="carttotal_{var name='price_id'}"  value="{var name='carttotal'}"/>   
       <input type="hidden" id="taxper_{var name='price_id'}"   value="{var name='taxper'}"/>  
       <input type="hidden" id="taxamount_{var name='price_id'}"  value="{var name='taxamount'}"/>   
       <input type="hidden" id="grand_total_{var name='price_id'}" value="{var name='grand_total'}"/>  


      </label>    
     </div> 
    </div> 
</div> 

jQuery的

$('#transfer_target input[type="radio"]').click(function() 
     { 

      $('#cart_total').hide(); 
      var $amt = $(this).val(); 

      var carttotal_el = "#carttotal_" + $amt; 
      var taxper_el  = "#taxper_" + $amt; 
      var taxamount_el = "#taxamount_" + $amt; 
      var grand_total_el = "#grand_total_" + $amt; 

      //update_price_list($amt); 

      var $carttotal = $('#carttotal'); 
      $carttotal.html($(carttotal_el).val()); 

      var $salestax_per = $('#salestax_per'); 
      var $str = '<h4>Sales Tax(' + $(taxper_el).val() + ')</h4>'; 
      $salestax_per.html($str); 

      var $salestax_amount = $('#salestax_amount'); 
      $salestax_amount.html($(taxamount_el).val()); 

      var $grand_total = $('#grand_total'); 
      $grand_total.html($(grand_total_el).val()); 

      $('#cart_total').show(); 

     }); 
+2

你介意張貼的HTML代碼這個腳本是指什麼? –

+0

確保如果你有這個元素或子元素的其他cilck處理程序,它們不會執行'e.preventDefault()'和'e.stopPropagation()'。 – mik01aj

+0

顯示HTML並檢查以確保沒有控制檯錯誤。 – Prisoner

回答

0

您使用的是DOM就緒功能?你應該看起來像這樣。可能只是數據已經準備好了。

$(document).ready(function() { 
    someName(); 
}); 

function someName() { 
    $('#transfer_target input[type="radio"]').click(function() { 


      $('#cart_total').hide(); 
      var $amt = $(this).val(); 

      var carttotal_el = "#carttotal_" + $amt; 
      var taxper_el  = "#taxper_" + $amt; 
      var taxamount_el = "#taxamount_" + $amt; 
      var grand_total_el = "#grand_total_" + $amt; 

      var $carttotal = $('#carttotal'); 
      $carttotal.html($(carttotal_el).val()); 

      var $salestax_per = $('#salestax_per'); 
      var $str = '<h4>Sales Tax(' + $(taxper_el).val() + ')</h4>'; 
      $salestax_per.html($str); 

      var $salestax_amount = $('#salestax_amount'); 
      $salestax_amount.html($(taxamount_el).val()); 

      var $grand_total = $('#grand_total'); 
      $grand_total.html($(grand_total_el).val()); 

      $('#cart_total').show(); 
     }); 

}