2013-08-27 2 views
0

안녕 내가 입력 및 선택 옵션에서 값을 합계를 JQuery와의 스크립트를 찾고 있었다 형태로 선택하고 내가이 스크립트 발견합계는 입력에서 값 및

자료 제공 : jQuery checkbox and select - sum the values and add in var

DEMO : http://jsfiddle.net/H4d7W/

유일한 문제는 양식에 여러 입력과 여러 선택이 포함되어 있다는 것입니다.

나는 이런 식으로 뭔가를 생각하고 있었다 :

교체 :

tot+=parseInt($('#more').val()); 
$('#usertotal').html(tot) 
}); 

    $('#more').change(function(){ 
     $('input:checkbox').trigger('change'); 
    }); 

의 경우 : 내가 그 코드를 편집 할 수있는 방법에 어떤 생각이 이러한 목표를 달성하기 위해

tot+=parseInt($('select > option:selected'').val()); 
$('#usertotal').html(tot) 
}); 

    $('select > option:selected'').change(function(){ 
     $('input:checkbox').trigger('change'); 
    }); 

.

아래 링크에서 입력 사이의 합계를 첫 번째로 선택하여 데모를 만들었습니다.

JSFIDDLE 데모 :http://jsfiddle.net/B9ufP/

+4

. 최소한 코드에 구문 오류가 없어야합니다. HTML을 게시하고 http://jsfiddle.net/ 데모를 만드십시오. 또한 여러 개의 select 요소 또는 다중 선택 요소가 있는지 분명하지 않습니다. http://jsfiddle.net/B9ufP/ –

+0

OK @FelixKling 링크입니다 B9ufP/ – Ered

답변

1

jQuery를이 reduce 방법 (아직) 가지고 있지 않지만, 같은 효과를 사용할 수 있습니다 each을 가지고있다.

var sum = 0; 
$('select > option:selected').each(function() { 
    sum += parseInt($(this).val(), 10); 
}); 
+0

그래하지만 여러 입력을 얻을 수 있고 선택 때 적용 얼마나 http://jsfiddle.net/ : 여기 데모를 만들었습니다 – Ered

+1

jQuery에 여러 개의 선택기를 전달할 수 있으며 쉼표로 구분됩니다. '$ ('option : selected, input : checkbox : checked'). 각 (...' –

0

이 내가 당신의 도움을 주셔서 감사 무엇을 찾고 있었다입니다 :

var $total = $('#usertotal'); 
$('input,select').change(function() { 
    var tot = 0; 
    $('input:checkbox:checked, select > option:selected').each(function() { 
     var per_op = $(this).attr('value'); 
     if (per_op) {  
     tot += Number(per_op); 
     } 
    }); 
    var final_result = tot.toFixed(2); 
    $total.html(final_result) 
}); 

DEMO : 완전히 HTML의 구조에 따라 달라집니다http://jsfiddle.net/zFCvV/6/