如何将输入范围的值传递给JS中的变量?

时间:2016-05-16 16:20:54

标签: javascript jquery

如何将输入范围滑块的值转换为变量?以下是我使用的范围。假设我将范围拖到12,那么我需要" 12"作为我想要传递给函数的变量。

 <input type="range" min="1" max="30" value="15" />

编辑:我不想要一个按钮来确认值或其他东西,我希望每次更改值时,它都会传递给函数,因此它将是动态的!

PS:这可能不是最好的问题,但在发布问题之前,我老老实实地试过寻找答案。

6 个答案:

答案 0 :(得分:4)

您只需要绑定到change事件:

<input type="range" min="1" max="30" value="15" />

$("input").change(function(){
    var value = $(this).val();
    alert(value);
})

答案 1 :(得分:2)

如果您为自己的字段提供了身份证明:

 <input id="myRange" type="range" min="1" max="30" value="15" />

然后:

 $('#myRange').val();

第一步并非真正需要,但它使事情变得更容易。

您可以在每个表单字段元素中执行此操作:

 $('selector').val();

你会得到它的价值。

更新您的问题:

使用.change事件绑定一个函数,该函数可以对此值进行任何操作,例如:

$('#myRange').change(function(){
    var myVar = $(this).val();
    alert(myVar);
});

答案 2 :(得分:1)

只需在输入上使用注册事件:

<input type="range" min="1" max="30" value="15" oninput="alert(this.value)" />

您当然也可以在oninput字段中调用函数。

答案 3 :(得分:1)

jsfiddle

<input id="field" type="range" min="1" max="30" value="15" />

var input = document.getElementById('field');
console.info(input.defaultValue); // value default (15)
input.onchange = function () {
  console.info(input.value); // value change
};

答案 4 :(得分:1)

您只需向字段的input事件添加一个侦听器,每次触发时都更新变量,即可完成此操作。

var input=document.querySelector("input"),
    value=input.value;
console.log(value);
input.addEventListener("input",function(){
    value=this.value;
    console.log(value);
},0);
<input max="30" min="1" type="range" value="15">

答案 5 :(得分:0)

为输入提供ID。然后用 对于JQuery

MyData <- read.csv(file="http://www.grex.org/~ev/breweries.csv", header=TRUE, sep=",")

library(DT)
datatable(MyData[,c("name","address1","address2","city","state","code","country")])


library(leaflet)
map <- 
    MyData %>% 
    leaflet() %>% 
    addTiles() %>% 
    addCircles(~name, ~address1, ~address2, ~city, ~state, ~country, radius = 200, color="blue", opacity = 0.8)
map

适用于JavaScript

Var a = $('#whateverId').val();