我在考虑如果将容器Div设置为显示块,如何通过jQuery将所有输入值与特定名称相加。
链接if ($('#product_' + this.alt).css('display','block')) {
然后它需要添加.each
并输入类似的输入。
$('#product_price_total_PRI_' + this.alt).val
关于如何将所有这些放在一起的任何想法?
编辑:
显然我应该澄清一下。多个复选框和单选按钮的alt标记中包含一个ID,该ID对应于隐藏容器和字段的ID。因此,选中的按钮和复选框的组合决定了可见的隐藏区域。
function product_analysis_global() {
$(':checked').each(function(){
$('#product_' + this.alt).css('display','block');
$('#product_quantity_PRI_' + this.alt).val(this.value);
var quantity = $('#product_quantity_PRI_' + this.alt).val();
var price = $('#product_price_PRI_' + this.alt).val();
var duration = $('#product_duration_PRI_' + this.alt).val();
var dives = $('#product_dives_PRI_' + this.alt).val();
var hire = $('#product_quantity_PRI_' + this.alt).val();
$('#product_price_total_PRI_' + this.alt).val(price * quantity);
$('#product_duration_total_PRI_' + this.alt).val(duration * quantity);
$('#product_dives_total_PRI_' + this.alt).val(dives * quantity);
$('#product_hire_total_PRI_' + this.alt).val(hire * quantity);
});
我需要的是一个名为“GT_grand_total”的字段,只有当面板'#product_price_total_PRI_' + this.alt).val()'
可见时,该字段才是区域'#product_' + this.alt
的所有字段的总和。
答案 0 :(得分:1)
var sum = 0;
$("#specific_name_1, #specific_name_2").not(":hidden").each(function(){
var i = parseInt($(this).val(), 10);
if(i){
sum += i;
}
});
$("#grand_total").val(sum);
答案 1 :(得分:1)
如果看不到非块显示的项目,您可以使用jquery :visible
选择器
if ($('#product_' + this.alt).is(":visible")) {...}
答案 2 :(得分:1)
根据您的要求
var arr = $("div[id*='product_']").not(":hidden").map(function(){
return $(this).find("input[id*='product_price_total_PRI_']").val();
}).get();
var total = 0;
$.each(arr,function() {
total += parseInt(this);
});
alert(total);
或总计
var total = eval(arr.join('+'));
alert(total);
工作示例