【发布时间】:2021-01-11 11:23:31
【问题描述】:
我的项目中有一个范围滑块,它返回最小和最大里程值。我想获取另一个 Javascript 函数中的值以进行进一步处理。它一直运行良好,但是当我尝试将滑块包装到函数 firstFunction(){} 中时,它就停止出现在页面上。
如何获取另一个函数中的值?
HTML
<div id="mileage-range"></div>
<div class="d-flex justify-content-between mt-2">
<input class="range" onchange="firstFunction()" type="text" readonly="readonly" id="range_mileage" />
</div>
Javascript
function firstFunction() {
var myslider= $('#mileage-range');
myslider.ionRangeSlider({
type: "double",
min: 0,
max: 200000,
from: 0,
to: 200000,
postfix:" km",
max_postfix:"+",
onFinish: function(data) {
$("#range_mileage" ).val( "$" + data.from + " - $" + data.to );
var value1 = data.from;
var value2 = data.to;
return {
min: value1,
max: value2,
}
}
})
}//End of function
$("#mileage-range").on("change", function(){
var values=firstFunction(); // this will grab you the return val
var first = values.val1;
var second = values.val2;
console.log(first);
console.log(second);
});
【问题讨论】:
-
为什么要将滑块“包裹”在另一个函数中?您的 firstFunction 正在创建您的滑块,因此通常会进入您的页面设置代码。在您的滑块设置中,您可以定义 onChange 和 onFinish 的回调函数,以对这些值执行任何操作。你不需要有一个单独的函数来监控包含的 div 的变化。
-
@RichDeBourke 我想在另一个函数中获取值,我将从那里发送一个 ajax 调用,其中一些其他变量来自不同的地方。根据您的建议,即使编写回调方法,我也没有成功。您能否通过在您的答案中编写代码序列来进一步指导我。非常感谢
-
这不是一个 jQuery UI 滑块。还有一个模糊的
return元素。这会将值返回给调用函数,而不是父函数。我也看不到val1和val2被定义为索引的位置。
标签: javascript html jquery jquery-ui