2012-05-17 6 views
6

Dưới đây là kịch bản của tôi:Tăng thêm Javascript hơn 1?

//event handler for item quantity in shopping cart 
    function itemQuantityHandler(p, a) { 
     //get current quantity from cart 
     var filter = /(\w+)::(\w+)/.exec(p.id); 
     var cart_item = cart[filter[1]][filter[2]]; 
     var v = cart_item.quantity; 


     //add one 
     if (a.indexOf('add') != -1) { 
      if(v < settings.productBuyLimit) v++; 
     } 
     //substract one 
     if (a.indexOf('subtract') != -1) { 
      if (v > 1) v--; 

     } 
     //update quantity in shopping cart 
     $(p).find('.item-quantity').text(v); 
     //save new quantity to cart 
     cart_item.quantity = v; 
     //update price for item 
     $(p).find('.item-price').text((cart_item.price*v).toFixed(settings.numberPrecision)); 
     //update total counters 
     countCartTotal(); 
    } 

Những gì tôi cần là để tăng "v" (cart_item.quantity) bởi nhiều hơn một. Ở đây, nó sử dụng "v + +" ... nhưng nó chỉ tăng lên 1. Làm thế nào tôi có thể thay đổi điều này để làm cho nó tăng 4 mỗi lần tôi nhấp vào biểu tượng dấu cộng?

tôi đã cố gắng

v++ +4 

Nhưng nó không làm việc.

Cảm ơn bạn!

+1

'v + = 4' ...? Và một số đệm ... –

+4

Nếu bạn không biết cách thêm 4 vào một số, tôi thực sự khuyên bạn nên chạy qua một hướng dẫn lập trình cơ bản. –

Trả lời

15

Sử dụng toán tử gán phân cách:

v += 4; 
+0

Cảm ơn bạn! nó đã làm việc. – larin555

+1

Không tương đương: 'v + = 4' chỉ đánh giá biểu thức một lần, tốt khi đó là biểu thức dài hoặc có hiệu ứng phụ. – jnylen

+0

@jnylen Cảm ơn, bạn đã đúng. – helpermethod

0

Hãy thử điều này:

//event handler for item quantity in shopping cart 
    function itemQuantityHandler(p, a) { 
     //get current quantity from cart 
     var filter = /(\w+)::(\w+)/.exec(p.id); 
     var cart_item = cart[filter[1]][filter[2]]; 
     var v = cart_item.quantity; 


     //add four 
     if (a.indexOf('add') != -1) { 
      if(v < settings.productBuyLimit) v += 4; 
     } 
     //substract one 
     if (a.indexOf('subtract') != -1) { 
      if (v > 1) v--; 

     } 
     //update quantity in shopping cart 
     $(p).find('.item-quantity').text(v); 
     //save new quantity to cart 
     cart_item.quantity = v; 
     //update price for item 
     $(p).find('.item-price').text((cart_item.price*v).toFixed(settings.numberPrecision)); 
     //update total counters 
     countCartTotal(); 
    } 
3

Để tăng v bởi n: v + = n

14

Sử dụng variable += value; để tăng bởi nhiều hơn một:

v += 4; 

Nó hoạt động với một số khác các toán tử quá:

v -= 4; 
v *= 4; 
v /= 4; 
v %= 4; 
v <<= 1; 
v >>= 4; 
+0

Để tham khảo: Xem [Phân bổ bổ sung] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Addition_assignment) ('+ =') và [Phép gán trừ] (Các nhà điều hành https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators#Subtraction_assignment) ('- ='). – showdev

+0

|| = và && = dường như không tồn tại trong JavaScript. | = và & = thực hiện các phép toán gán bitwise cũng tốt nếu bạn không thực hiện trực tiếp === so sánh với các boolean thực. –

+0

Bạn đang đúng @Csit - Tôi phải nghĩ đến một ngôn ngữ khác khi tôi viết bài này. – jnylen