Javascript 我如何将范围滑块值与pst属性相乘,然后与其他字段一起计算,然后显示结果?
这是我的密码Javascript 我如何将范围滑块值与pst属性相乘,然后与其他字段一起计算,然后显示结果?,javascript,jquery,Javascript,Jquery,这是我的密码 <div id="estimate"> <div class="form-group"> <div class="range-slider"> <input class="range-slider__range form-control prc e-range" type="range" value="100" m
<div id="estimate">
<div class="form-group">
<div class="range-slider">
<input class="range-slider__range form-control prc e-range" type="range" value="100" min="0" max="500" pst="3">
<span class="range-slider__value">0</span>
</div>
</div>
<div class="form-group">
<div class="range-slider">
<input class="range-slider__range form-control prc e-range" type="range" value="100" min="0" max="500" pst="5">
<span class="range-slider__value">0</span>
</div>
</div>
<div class="form-group">
<input type="number" class="form-control prc" value="{{vl}}"/>
</div>
<div class="form-group">
<input type="number" class="form-control prc" value="5"/>
</div>
<div class="form-group">
<input type="checkbox" value="10" class="form-control prc">
</div>
<p id="result"></p>
</div>
<script>
estimate();
$('.form-group').on('change','.prc',estimate);
function estimate(){
let totalSum = 0;
$('.form-group .prc').each(function(){
if(this.type=="checkbox" && !this.checked) return
let inputVal = $(this).val();
if($.isNumeric(inputVal)){
totalSum += parseFloat(inputVal);
}
});
$('#result').html(totalSum);
}
var rangeSlider = function(){
var slider = $('.range-slider'),
range = $('.range-slider__range'),
value = $('.range-slider__value');
slider.each(function(){
value.each(function(){
var value = $(this).prev().attr('value');
$(this).html(value);
});
range.on('input', function(){
$(this).next(value).html(this.value);
});
});
};
rangeSlider();
</script>
0
0
估算();
美元(“.form group”)。在('change'、'.prc'估计值)上;
函数估计(){
设totalSum=0;
$('.form group.prc')。每个(函数(){
如果(this.type==“checkbox”&&!this.checked)返回
让inputVal=$(this.val();
如果($.isNumeric(inputVal)){
totalSum+=parseFloat(inputVal);
}
});
$('#result').html(totalSum);
}
var rangeSlider=函数(){
变量滑块=$(“.范围滑块”),
范围=$('.range-slider__range'),
值=$('.range-slider__值');
slider.each(函数(){
value.each(函数(){
var value=$(this.prev().attr('value');
$(this.html(value);
});
range.on('input',function(){
$(this.next(value.html)(this.value);
});
});
};
范围滑块();
在这里,我希望范围滑块只与pst属性的值相乘,然后与其他字段一起计算,然后显示结果。。
此处无法为每个项目使用任何特定id。。。只能由任何具有相同类型输入字段(如range)的特定类调用。每个范围vlue应与每个pst值相乘,然后与其他字段计算,考虑以下示例
estimate();
美元(“.form group”)。在('change'、'.prc'估计值)上;
函数估计(){
var totalSum=0,
加,v,m;
$('.form group.prc')。每个(函数(i,el){
if($(el).is(“:checkbox”)&&&!$(el).is(“:checked”)){
加法=0;
}else if($(el).hasClass(“e范围”)){
v=parseInt($(el).val());
m=parseInt($(el).attr(“pst”);
加法=(v*m);
}否则{
add=parseFloat($(el).val());
}
总和+=相加;
});
$('#result').html(totalSum);
}
函数rangeSlider(){
变量滑块=$(“.范围滑块”),
范围=$('.range-slider__range'),
值=$('.range-slider__值');
slider.each(函数(){
value.each(函数(){
var value=$(this.prev().attr('value');
$(this.html(value);
});
range.on('input',function(){
$(this.next(value.html)(this.value);
});
});
};
范围滑块()代码>
0
0
10
不确定您所说的pst
属性是什么意思。你是说prc
?我只想要一个可以与值相乘的属性…你可以使用.attr()
。您希望从何处获取此计算?此代码中唯一的问题是复选框。。如果我取消选中,那么它将进行计算,这应该与我选中的一样,然后它应该添加该值,但在将第一个条件更改为(this.type==“checkbox”&&&!this.checked)后,它将得到解决