我想在我的页面上总结元素的值。它们由Slider元素和Checkbox元素组成。我的滑块有一类" .valuez"我用"输入[type = checkbox]"来定位我的复选框。下面的片段分别很好用,但是我需要它们作为一个片段来最终给我页面上所有值的总和。
$('.valuez').change(function(){
var sum = 0;
$('.valuez').each(function(){
sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
});
$('li').html(sum);
});
$('input[type=checkbox]').change(function(){
var sum = 0;
$('input[type=checkbox]').each(function(){
sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
});
$('li').html(sum);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 0 :(得分:0)
您可以将其分解为函数:
$('.valuez').change(updateTotal);
$('input[type=checkbox]').change(updateTotal);
function sumSlider(){
var sum = 0;
$('.valuez').each(function(){
sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
});
return sum;
}
function sumCheckbox(){
$('input[type=checkbox]').each(function(){
sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
});
return sum;
}
function updateTotal(){
$('li').html(sumSlider() + sumCheckbox());
}
答案 1 :(得分:0)
您可以同时选择.valuez
和复选框:
$('input[type=checkbox], .valuez').change(function(){
var sum = 0;
$('input[type=checkbox], .valuez').each(function(){
sum += isNaN(this.value) || $.trim(this.value) === '' ? 0 : parseFloat(this.value);
});
$('li').html(sum);
});