我创建了一个从selectbox获取值的小脚本。可以使用加号和减号箭头更改选择框值。
我试图用4或6来增加这个值,但这会一次又一次地给我一个错误的值。
所以简而言之:我希望内部的值增加4或6或减少4或6.
HTML
<div class="quantity">
<input type="text" name="quantity" value="{{ product.quantity }}" />
<div class="change">
<a href="javascript:;" onclick="updateQuantity('up');" class="up">+</a>
<a href="javascript:;" onclick="updateQuantity('down');" class="down">-</a>
</div>
</div>
JQUERY
function updateQuantity(way){
if(6 == 4){ //6 is a Twig tag and works. This is the only way to test if it's 4 or 6
var qty = '4';
}else {
var qty = '6';
}
var quantity = parseInt($('.quantity input').val());
if (way == 'up'){
if (quantity < 100){
quantity+qty; // gives me something like 444 or 666
} else {
quantity = 100;
}
} else {
if (quantity > 6){
quantity-qty; // actually works
} else {
quantity = 6;
}
}
$('.quantity input').val(quantity);
}
有谁知道我做错了什么?我真的再也看不到了
答案 0 :(得分:2)
qty
是一个字符串,+
将连接字符串。
使用qty = 4
代替qty = '4'
还使用以下语句:
quantity+=qty; // instead of quantity+qty
和
quantity-=qty; // instead of quantity-qty
答案 1 :(得分:1)
嘿朋友6 0r 4你没有提到任何地方,但看到我的小提琴链接可能会帮助你。我添加的输入增加了4并减少了4。
在这里
`http://jsfiddle.net/19c2uanm/`
答案 2 :(得分:1)
在单引号内,值被视为字符串。
因此值连接(即)666或444。 使用时不带单引号,因此可以将其视为数字加法。 String usage in js