2011-01-26 8 views
0

コンテナDivが表示ブロックに設定されている場合、特定の名前を持つすべての入力値をjQuery経由でどのように追加するのかを熟考しています。 if ($('#product_' + this.alt).css('display','block')) {jQueryは、隠されていない値だけを掛けます。

何かリンクは、その後、それは、このような入力何かをフェッチして.eachを追加する必要があります。

$('#product_price_total_PRI_' + this.alt).val 

どのように私はそれらのすべてをまとめるでしょうか?

編集:

明らかに私は明確にする必要があります。複数のチェックボックスとラジオボタンのaltタグには、隠れたコンテナとフィールドの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); 

}); 

はそのパネル'#product_' + this.altが表示されている場合にのみ、エリア'#product_price_total_PRI_' + this.alt).val()'すべてのフィールドの合計になるように「GT_grand_total」と呼ばれる分野です。

+0

のために、私はあなたがここで何をしようとして見当がつかない。なぜあなたは 'this.alt'を使っていますか?これらのフィールドは何ですか? HTMLを表示できますか? – lonesomeday

+0

追加または追加する? this.altでこれは何ですか?私が悪い言い方をした質問を投票しないことを幸運に考えてください:) –

+0

this.altは、すべてが動的に生成されるので、必須フィールドのIDを決定する単なる方法です。 altタグの中には、必須フィールドのaltタグにも対応するPHPで生成される一意のIDがあります。 –

答えて

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); 

の作業例

http://jsfiddle.net/wB5Hh/2/

+0

Marvelous Thanks、Final Fidle http://jsfiddle.net/wB5Hh/7/で完全な例を投稿してください。 –

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); 

定義:隠されたセレクタ http://api.jquery.com/hidden-selector/

関連する問題