遍历几个 bootstrap 滑块并在每个函数中获取范围值
iterate through several bootstrap sliders and get range values within an each function
我有一个页面有几个 bootstrap-sliders。这是一个代表性的例子:
<label>My Label 1</label>
<input id="mySlider1" data-slider-id='mySlider1' type="text"/>
<label>My Label 2</label>
<input id="mySlider2" data-slider-id='mySlider2' type="text"/>
下面是滑块的 javascript 定义:
$("#mySlider1").slider({
min: 0,
max: 5000,
value: [0, 5000]
});
$("#mySlider2").slider({
min: 0,
max: 5000,
value: [0, 5000]
});
有时我想遍历所有滑块并从 'each' 循环中获取它们的范围值:
$('.slider').each(function(){
var key = $(this).attr("id");
var value = $(this).val(); /* <- this is the problem line */
console.log("key = " + key + ", value = " + value);
});
控制台打印出来:
key = mySlider1, value =
key = mySlider2, value =
我希望将 'value' 视为范围 [0,5000] 的 2 元素数组。
这里的问题是您正在尝试迭代 .slider
,这是为 bootstrap-slider
制作滑块的方式保留的 class。您应该改为向 input
元素添加一个滑块,例如在这个 jsfiddle 中:https://jsfiddle.net/a3wdzyck/
我有一个页面有几个 bootstrap-sliders。这是一个代表性的例子:
<label>My Label 1</label>
<input id="mySlider1" data-slider-id='mySlider1' type="text"/>
<label>My Label 2</label>
<input id="mySlider2" data-slider-id='mySlider2' type="text"/>
下面是滑块的 javascript 定义:
$("#mySlider1").slider({
min: 0,
max: 5000,
value: [0, 5000]
});
$("#mySlider2").slider({
min: 0,
max: 5000,
value: [0, 5000]
});
有时我想遍历所有滑块并从 'each' 循环中获取它们的范围值:
$('.slider').each(function(){
var key = $(this).attr("id");
var value = $(this).val(); /* <- this is the problem line */
console.log("key = " + key + ", value = " + value);
});
控制台打印出来:
key = mySlider1, value =
key = mySlider2, value =
我希望将 'value' 视为范围 [0,5000] 的 2 元素数组。
这里的问题是您正在尝试迭代 .slider
,这是为 bootstrap-slider
制作滑块的方式保留的 class。您应该改为向 input
元素添加一个滑块,例如在这个 jsfiddle 中:https://jsfiddle.net/a3wdzyck/