在范围滑块处理程序的使用上使输入聚焦/不聚焦

时间:2020-09-15 13:22:36

标签: javascript forms input range

我有一种形式,其中输入值由范围滑块控制。每次在输入上进行聚焦时,都会进行一次计算。

但是,仅使用范围滑块时,该计算不起作用。使用范围滑块时是否可以集中输入?我无法更改计算方式,因为它在所有输入中。因此,必须是这种方式。

我的表单更大,但是,这是我所拥有的示例:

<label class="va1">Option a price 1:<input id="a1" type="number"/></label>
<input type="range" id="slider-a1" min="0" max="100" step="1" value="0"><br>
<label class="va2">Option a price 2:<input id="a2" type="number"/></label>
<input type="range" id="slider-a2" min="0" max="100" step="1" value="0"><br>
<label>Result:</label><input id="a5" type="text" name="total_amt"/>

这是JS:

var opt_1 = document.getElementById("slider-a1");
opt_1.oninput = function() {
  document.getElementById("a1").value = opt_1.value;}
var opt_2 = document.getElementById("slider-a2");
opt_2.oninput = function() {
  document.getElementById("a2").value = opt_2.value;}

calculate = function(){
   var optiona1, optiona2, resultss;
   optiona1 = Number(document.getElementById("a1").value);
   optiona2 = Number(document.getElementById("a2").value);
   resultss = parseInt(optiona1)+parseInt(optiona2);
   document.getElementById('a5').value = resultss;}
   $('input[type=number]').on('focusout', calculate);

0 个答案:

没有答案