javascript - 获取输入隐藏字段jquery中的输入范围 slider 值

标签 javascript jquery

我的范围 slider 工作正常,但它在跨度中显示所选范围。除了跨度之外,我还想在输入隐藏字段中打印范围,但无法这样做。

我提供了打印span中范围的脚本。

$(window).load(function(){
var range = $('.input-range'),
  value = $('.range-value');
  
value.html(range.attr('value'));

range.on('input', function(){
  value.html(this.value);
});

 
});//]]>
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.range-slider .input-range {
  -webkit-appearance: none;
  width: 300px;
  height: 10px;
  border-radius: 5px;
  background: #353535;
  outline: none;
}
.range-slider .input-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #666;
  cursor: pointer;
  -webkit-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out;
}
.range-slider .input-range::-webkit-slider-thumb:hover {
  background: #fff;
}
.range-slider .input-range:active::-webkit-slider-thumb {
  background: #fff;
}
.range-slider .input-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: #666;
  cursor: pointer;
  -webkit-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out;
}
.range-slider .input-range::-moz-range-thumb:hover {
  background: #fff;
}
.range-slider .input-range:active::-moz-range-thumb {
  background: #fff;
}
.range-slider .range-value {
  display: inline-block;
  position: relative;
  width: 80px;
  color: #fff;
  font-size: 16px;
  font-weight:bold;
  line-height: 20px;
  text-align: center;
  border-radius: 3px;
  background: #3f3f3f;
  padding: 5px 10px;
  margin-left: 7px;
}
.range-slider .range-value:after {
  position: absolute;
  top: 8px;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 7px solid #3f3f3f;
  border-bottom: 7px solid transparent;
  content: '';
}

::-moz-range-track {
  background: #353535;
  border: 0;
}

input::-moz-focus-inner {
  border: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="et_pb_contact_form clearfix" method="GET" action="zd">

<p>
<h5>Amount in INR</h5>
<div class="range-slider">
    <input class="input-range" type="range" name="amount" value="" min="1000" step="1000" max="1000000">
    <span class="range-value"></span>
    <input type="hidden" class="test" value="">
</div> 
</p>



<button type="submit" class="et_pb_contact_submit et_pb_button">Submit</button>

</form>

最佳答案

看一下这段代码。它将当前值分配给隐藏字段。您可以通过单击按钮检查当前值。

$(window).load(function(){
  var range = $('.input-range'),
  value = $('.range-value');
  
  value.html(range.attr('value'));

  range.on('input', function(){
    value.html(this.value);
    
    // Write value to hidden field
    $("input.test").val(this.value);
  });
  
  // Show current hidden input value
  $("#showValueButton").click(function() {
    var currentVal = $("input.test").val();
    alert("Current hidden input value: " + currentVal);
  });

 
});//]]>
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

.range-slider .input-range {
  -webkit-appearance: none;
  width: 300px;
  height: 10px;
  border-radius: 5px;
  background: #353535;
  outline: none;
}
.range-slider .input-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #666;
  cursor: pointer;
  -webkit-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out;
}
.range-slider .input-range::-webkit-slider-thumb:hover {
  background: #fff;
}
.range-slider .input-range:active::-webkit-slider-thumb {
  background: #fff;
}
.range-slider .input-range::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 50%;
  background: #666;
  cursor: pointer;
  -webkit-transition: background .15s ease-in-out;
  transition: background .15s ease-in-out;
}
.range-slider .input-range::-moz-range-thumb:hover {
  background: #fff;
}
.range-slider .input-range:active::-moz-range-thumb {
  background: #fff;
}
.range-slider .range-value {
  display: inline-block;
  position: relative;
  width: 80px;
  color: #fff;
  font-size: 16px;
  font-weight:bold;
  line-height: 20px;
  text-align: center;
  border-radius: 3px;
  background: #3f3f3f;
  padding: 5px 10px;
  margin-left: 7px;
}
.range-slider .range-value:after {
  position: absolute;
  top: 8px;
  left: -7px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-right: 7px solid #3f3f3f;
  border-bottom: 7px solid transparent;
  content: '';
}

::-moz-range-track {
  background: #353535;
  border: 0;
}

input::-moz-focus-inner {
  border: 0;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form class="et_pb_contact_form clearfix" method="GET" action="zd">

<p>
<h5>Amount in INR</h5>
<div class="range-slider">
    <input class="input-range" type="range" name="amount" value="" min="1000" step="1000" max="1000000">
    <span class="range-value"></span>
    <input type="hidden" class="test" value="">
</div> 
</p>



<button type="submit" class="et_pb_contact_submit et_pb_button">Submit</button>

<button type="button" id="showValueButton">Show value of hidden field</button>

</form>

关于javascript - 获取输入隐藏字段jquery中的输入范围 slider 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42951792/

相关文章:

javascript - jQuery选择伪元素:after

javascript - iframe-resizer:无法禁用自动调整大小

javascript - 选择选项更改时 div 更改其边距

jquery - 如何调整 html 元素的位置

jquery - 获取与按钮同一行的第一个 td 元素的值

javascript - 输入按钮与图像

javascript - 禁用 Kendo 网格日历中的星期几

jquery - 设置 jQuery Mobile 脚本

javascript - 没有关闭按钮的jquery弹出窗口

javascript - 这是模块化的js设计模式吗?以及如何在此模型中跨不同模块重用一个值?