2011-09-06 3 views
0

주소를 묻는 양식이 있습니다. 각 주소를 입력 한 후 해당 주소에 얼마나 오래 거주했는지 묻고 <select> 년 및 수개월 동안 드롭 다운합니다. jQuery - 여러 개의 숫자 <select> 요소 값 합계?

var prev_addresses = 0; 
$('select.months, select.years').change(function() { 

    // Calculate total months 
    var months = $('select.months').val(); 
    var years = $('select.years').val(); 
    var total_months = parseInt(months) + parseInt(years*12); // We parseInt() to avoid concatenation 

    console.log('Total months: '+total_months); 

    if(total_months < 12) { 
     // Find the next div.hidden-address 
     prev_addresses = prev_addresses+1; 
     console.log('Number of previous addresses: '+prev_addresses); 
     console.log(''); 
     $('div.hidden-address').clone(true).appendTo('#previous-addresses').slideToggle(); 
    } 
}); 

나는이 사람이 주소의 12 개월 미만을 가지고 모든 동안 일어나고 계속하려면 :

는 내가 jQuery를 이벤트에게 <select>가 변경 될 때마다이있다. 그러나 처음으로 이벤트가 시작된 후 <select>이 업데이트 될 때마다 콘솔에 첫 번째 값 집합이 기록됩니다 (원래의 연도와 월 선택 항목은 여러 개가 있지만).

는 좀 더 동적으로 추가 된 후에도 페이지에 모든<select> 요소의 값을 총 싶다. 어떻게해야합니까?

희망 사항이 있으시면 추가 세부 정보가 필요하시면 알려 주시기 바랍니다.

감사합니다,

모든 선택 상자를 통해 잭

답변

1

루프, 그리고 변수에 값을 추가,이 같은 :

var totalMonths = 0; 
$('select.months').each(function() { 
    totalMonths += $(this).val(); 
}); 

$('select.years').each(function() { 
    totalMonths += 12 * $(this).val(); 
});