I have a form that has input checkboxes like the ones in the example. The js code extracts the number from the checked input values and outputs them one next to eachother. How to I edit the code so that when you check a second input checkbox the output is the sum of the numbers?
This is the PHP form:
<input type="checkbox" onchange="toggleCheckbox(this)" value="abc 1 def" name="1">
<input type="checkbox" onchange="toggleCheckbox(this)" value="abc 2 def" name="2">
<input type="checkbox" onchange="toggleCheckbox(this)" value="abc 3 def" name="3">
The JavaScript i use:
<script type="text/javascript">
function toggleCheckbox(element){
if (element.checked){
var number = element.value.replace ( /[^\d.]/g, '' );
document.getElementById("test").innerHTML += " " + number;
}
}
</script>
The HTML field:
<p id="test"></p>
You could store the accomulated value in a global variable, E.g.:
var sum = 0;
function toggleCheckbox(element){
var number = element.value.replace ( /[^\d.]/g, '' );
if (element.checked)
sum += Number(number);
else
sum -= Number(number);
document.getElementById("test").innerHTML = sum;
}
Demo fiddle : http://jsfiddle.net/lparcerisa/08hLc37a/
With jQuery, it could be done this way:
$("input[type=checkbox]").click(function(){
var sum=0;
$("input[type=checkbox]:checked").each(function(index){
sum += Number($(this).val().replace( /[^\d.]/g,''));
});
$("#test").html(sum);
} );
Demo fiddle (jquery) : http://jsfiddle.net/lparcerisa/res4k96j/2/
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다