<ul class="liste_couleur_qty">
<li style="margin-bottom: 20px;">
<dl>
<table width="200" border="0">
<tbody><tr>
<td width="50%">
<span style="display: block; font-size: 13px; line-height: 16px; margin-bottom: 2px;margin-right: 0px;margin-left: 20px;">Noir</span>
</td>
<td width="50%"><div class="add-to-cart">
<label for="qty-2195">qty :</label>
<input type="text" class="input-text qty calcul_qty_product" title="Qté" value="0" autocomplete="off" maxlength="5" data-product_color="127" id="qty-2195" name="qty-2195" onblur="addToCartPlus(2195, 127, this);">
</div></td>
</tr>
</tbody></table>
</dl>
</li>
<li style="margin-bottom: 20px;">
<dl>
<table width="200" border="0">
<tbody><tr>
<td width="50%">
<span style="display: block; font-size: 13px; line-height: 16px; margin-bottom: 2px;margin-right: 0px;margin-left: 20px;">Blanc</span>
</td>
<td width="50%"><div class="add-to-cart">
<label for="qty-2196">qty :</label>
<input type="text" class="input-text qty calcul_qty_product" title="Qté" value="0" autocomplete="off" maxlength="5" id="qty-2196" name="qty-2196" onblur="addToCartPlus();">
</div></td>
</tr>
</tbody></table>
</dl>
</li>
<li style="margin-bottom: 20px;">
<dl>
<table width="200" border="0">
<tbody><tr>
<td width="50%">
<span style="display: block; font-size: 13px; line-height: 16px; margin-bottom: 2px;margin-right: 0px;margin-left: 20px;">Blanc</span>
</td>
<td width="50%"><div class="add-to-cart">
<label for="qty-2196">qty :</label>
<input type="text" class="input-text qty calcul_qty_product" title="Qté" value="0" autocomplete="off" maxlength="5" id="qty-2196" name="qty-2196" onblur="addToCartPlus();">
</div></td>
</tr>
</tbody></table>
</dl>
</li>
</ul>
如何获取所有输入值,然后将它们全部添加,然后将其提供给变量。 如果在jquery,我知道该怎么做。
var length = $('liste_couleur_qty li input').length;
var input = $('liste_couleur_qty li input').val;
for(var i=0;i< length;i++){
var result += input;
}
结果将获得所有的值all.but我的代码仍然无法工作。我的jquery代码有什么问题?如果我不想使用jquery只使用javascript。我该怎么办?
答案 0 :(得分:2)
这应该适用于jQuery:
var result = "";
$('liste_couleur_qty li input').each(function() {
result += $(this).val();
});
首先:jQuery.val
不是属性,而是方法。第二:它将返回结果集中第一个元素的值,而不是所有值。第三:在你的for循环中 - 我甚至猜不出你想要做什么。您始终使用相同的值length
次。此外,一旦您尝试获取数值,您应该使用undefined
parseInt/parseFloat
方法
答案 1 :(得分:2)
var result = 0;
$('.liste_couleur_qty li input').each(function(){
result += $(this).val();
});
console.log(result);
这不完全准确。正如@undefined指出的那样,您需要使用parseInt
来执行数字加法而不是连接。那就是:
result += parseInt($(this).val());
答案 2 :(得分:2)
您的选择器没有选择任何内容,您错过了班级选择器的.
,val
方法也不是属性,您可以使用each
方法和parseInt
功能:
var result = 0;
$('.liste_couleur_qty li input').each(function(){
result += parseInt(this.value, 10);
});
答案 3 :(得分:0)
var length = $('liste_couleur_qty li input').length;
var input = $('liste_couleur_qty li input').val();
for(var i=0;i< length;i++){
var result += input;
}