2016-08-24 65 views
0

我期待在結帳頁面上爲數量輸入添加加號和減號按鈕。當輸入更新時,javascript函數被稱爲更新總成本。帶有javascript附加輸入的加號/減號按鈕

我已經添加了更新輸入框的按鈕和jquery,但我需要更新成本的javascript函數的幫助。

下面是按鈕的代碼:

<button class='MIN'>-</button> 
<input id='qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>' class="InputText" name='qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>' type="text" size="1" style="width:25px;" value='<c:out value="${quickCartOrderItemQuantity}"/>' style="text-align:center" onkeydown="JavaScript:setCurrentId('qty_<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>'); CheckoutHelperJS.updateCartWait(this, this.value, '<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>',event)" /> 
<button class='PLUS'>+</button> 

這裏是jQuery的的按鈕

$(".PLUS, .MIN").click(function(){ 
     var itemVal = parseInt($(this).siblings(".InputText").val()); 
     if ($(this).hasClass('MIN')) 
      itemVal--;  
     else 
      itemVal++; 
     $(this).siblings(".InputText").val(itemVal); 
    }); 

下面是updateCartWait函數的代碼:

updateCartWait:function(quantityBox, oldQuantity, orderItemId,event) { 
    if(event.keyCode == dojo.keys.TAB)return; 
    if(!this.isAjaxCheckOut()){ 
     return; 
    } 

    //Key pressed.. update the flag 
    if(this.keyPressCount[orderItemId] == null && isNaN(this.keyPressCount[orderItemId])){ 
     this.keyPressCount[orderItemId] = 0; 
    } 
    this.keyPressCount[orderItemId] = parseInt(this.keyPressCount[orderItemId]) + 1; 
    setTimeout(dojo.hitch(this,"checkInventoryAndUpdateCart",quantityBox,oldQuantity,orderItemId,this.keyPressCount[orderItemId]),this.updateWaitTimeOut); 
} 

而且這裏是checkInventoryAndUpdateCart

checkInventoryAndUpdateCart:function(quantityBox, oldQuantity, orderItemId, keyPressCountValue) { 
    // Get quantities and status 
    var inventoryStatusControl = dojo.byId("orderItem_inventoryStatus_" + orderItemId); 
    var clearanceStatusControl = dojo.byId("orderItem_clearanceStatus_" + orderItemId); 
    var availableQuantityControl = dojo.byId("orderItem_availableQuantity_" + orderItemId); 
    var inventoryStatus = ''; 
    if (inventoryStatusControl && inventoryStatusControl.innerHTML != '') inventoryStatus = inventoryStatusControl.innerHTML; 
    var clearanceStatus = 'false'; 
    if (clearanceStatusControl && clearanceStatusControl.innerHTML != '') clearanceStatus = clearanceStatusControl.innerHTML; 
    var availableQuantity = 0; 
    if (availableQuantityControl && availableQuantityControl.innerHTML != '') availableQuantity = parseInt(availableQuantityControl.innerHTML); 
    var quantity = parseInt(quantityBox.value); 

    if (inventoryStatus == 'Discontinued') { 
     alert('This product is discontinued and can not be ordered.'); 
     return; 
    } 

    if (clearanceStatus == 'true') { 
     if (availableQuantity < quantity) { 
      this.showClearanceItemDialog(orderItemId, quantity, oldQuantity, availableQuantity, keyPressCountValue); 
     } else { 
      this.updateCart(quantity, orderItemId, keyPressCountValue); 
     } 
     return; 
    } 

    if (availableQuantity < quantity) { 
     if (availableQuantity == 0) { 
      this.showNoStockDialog(orderItemId, quantity, oldQuantity, availableQuantity, keyPressCountValue); 
     } else { 
      this.showInsufficientStockDialog(orderItemId, quantity, oldQuantity, availableQuantity, keyPressCountValue); 
     } 
    } else { 
     this.updateCart(quantity, orderItemId, keyPressCountValue); 
    } 

任何人都可以幫忙嗎?

回答

0

我相信我已經通過正確傳遞值來實現它!

<button class='MIN' onclick="JavaScript:setCurrentId('qty_<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>'); CheckoutHelperJS.updateCartWait(document.getElementById('qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>'), document.getElementById('qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>').value, '<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>',event)">-</button> 
<input id='qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>' class="InputText" name='qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>' type="text" size="1" style="width:25px;" value='<c:out value="${quickCartOrderItemQuantity}"/>' style="text-align:center" onkeydown="JavaScript:setCurrentId('qty_<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>'); CheckoutHelperJS.updateCartWait(this, this.value, '<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>',event)" /> 
<button class='PLUS' onclick="JavaScript:setCurrentId('qty_<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>'); CheckoutHelperJS.updateCartWait(document.getElementById('qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>'), document.getElementById('qty_<c:out value="${orderItem.orderItemIdentifier.uniqueID}"/>').value, '<c:out value='${orderItem.orderItemIdentifier.uniqueID}'/>',event)">+</button> 
相關問題