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)后,它将得到解决