javascript - 如何获取范围滑块的值?
问题描述
你能帮我如何在javascript中获取范围滑块的值吗?
<script>
$(function()
{
$('.slider').on('input change', function(){
$(this).next($('.slider_label')).html(this.value);
});
$('.slider_label').each(function(){
var value = $(this).prev().attr('value');
$(this).html(value);
});
})
</script>
<p><label for="range_size">Size: </label> <input type="range" name="size" class="slider" min="1" max="75" value="45">
<span class="slider_label"></span></p>
<p><label for="range_width">Width: </label> <input type="range" name="width" class="slider" min="1" max="6" value="1">
<span class="slider_label"></span></p>
我正在努力做到这一点:
<script type="text/javascript">
function calculate () {
var size = document.getElementById ("size").value;
alert(size);
</script>
但它没有显示任何警报。你能帮我么?
解决方案
使用value
确实有效:
let p = document.getElementById("val")
let range = document.getElementById("slide")
let changeVal = () => {
p.textContent = range.value
}
changeVal()
range.onchange = changeVal
<input id="slide" type="range" min="0" max="100"/><p id="val"></p>
正如B001ᛦ</a> 在评论中所说,问题是你忘记id
在你的<input>
如果您愿意,您也可以使用name
s 但您需要小心,因为名称可以重复使用,而 Id 是唯一的
let p = document.getElementsByName("val")[0]
let range = document.getElementsByName("slide")[0]
let changeVal = () => {
p.textContent = range.value
}
changeVal()
range.onchange = changeVal
<input name="slide" type="range" min="0" max="100"/><p name="val"></p>
getElementsByName
返回 aNodeList
所以你需要从这个列表中获取你需要的节点(如果你只有一个,第一个)
作为旁注value
确实存在于每种输入类型上
推荐阅读
- matlab - `eye(2)` 和 `[1, 0; 0, 1]` 在自动广播中
- android - 使用 ADB 创建新联系人
- python - 生成随机行并在观察之间保持顺序以在 python 中创建数据框
- java - Servlet 注释到 xml
- android - 无法访问类 CoroutineScope。检查模块类路径
- python - 如何在 Django 中创建一个分为两部分的注册表单,以便一个呼叫仅在电子邮件验证后填写第二部分?
- tabulator - 如何防止分组空字段
- typescript - 函数解析对象的 Promise 值的正确类型:{[key: string}: Promise
=> {[键:字符串]:T} - android-studio - 在kotlin android studio上调用片段活动表单主项目应用程序到模块项目应用程序
- highcharts - highchart - 基于点数据的标签颜色