[英]Jquery javascript ajax - price total not updating
所以我試圖讓下面的代碼與更新基於ajax onclick的價格一起工作:
$('#main_body li[data-pricefield="special"]').delegate('onclick','change', function(e)
{
var temp = $(this).attr("id").split('_');
var element_id = temp[1];
var pricedef = $(this).data('pricedef');
if(pricedef == null)
{
pricedef = 0;
}
$("#li_" + element_id).data("pricevalue",pricedef);
calculate_total_payment();
});
到目前為止,事情似乎工作正常 - 當我輸入控制台時:
jQuery('#li_273').data('pricevalue');
我確實得到了返回值“1.00”,這實際上是在onclick命令中設置的:
'onclick' => 'jQuery(\'#li_273\').data(\'pricevalue\',\'1.00\');',
我的問題是我的第一個代碼塊出了什么問題,這個代碼阻止了以正確的方式計算價格以及如何糾正它?
'onclick','change'應該是委托中的'click change'
編輯:“$('#main_body li [data-pricefield =”special“]')。delegate('li','change',function(e){當你跳出字段時實際工作 - 它增加$ 1它。“
所以你應該:
$('#main_body li[data-pricefield="special"]').on('li','click change', function(e) {
也許檢查一下
if(pricedef == undefined || pricedef == null){
您正在使用
$('#main_body li[data-pricefield="special"]').delegate('onclick','change', function(e){
// ...
});
但delegate
的語法是.delegate( selector, eventType, handler(eventObject) )
,在這種情況下你應該寫
$('#main_body').delegate('li[data-pricefield="special"]','click', function(e){
// ...
});
在jQuery
和AFAIK中沒有onclick
事件, li
沒有change
事件,所以如果你想使用多個事件,那么你可以使用
$('#main_body').delegate('li[data-pricefield="special"]','click another_event', function(e){
// ...
});
您也可以使用on
代替delegate
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.