2011-01-26 6 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

에 대한

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); 
나는 당신이 여기 뭘 하려는지 모르겠어요. 왜'this.alt'를 사용하고 있습니까? 이 분야는 무엇입니까? HTML을 보여줄 수 있습니까? – lonesomeday

+0

가산하거나 곱 하시겠습니까? this.alt에서 이것은 무엇입니까? 운좋게도 내가 틀린 말로 된 질문에 투표하지 않는다고 생각하십시오 :) –

+0

this.alt는 필수 필드의 ID를 동적으로 생성 할 때이를 결정하는 방법 일뿐입니다. alt 태그 안에는 필수 필드의 alt 태그에 해당하는 PHP로 생성 된 고유 ID가 있습니다. –

답변

1

사항에 따라 사용할 수 있습니다 귀하의 요구 사항

또는 총

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/