[英]How do you ONLY get the value of the slider handle being moved with jQuery slider instead of both handles
我想用來自兩個句柄的值更新一個字段,但只能單獨更新。 每次手柄滑動時,Slider 都會在數組中返回這 2 個值,因此我的元素總是首先使用第一個手柄值更新,然后使用第二個手柄值更新,而不僅僅是滑動手柄的值。 我怎樣才能從做滑動的手柄中獲取值?
我嘗試為正在更新的輸入放置一個 onChange 函數,但由於某種原因它不起作用。
https://jsfiddle.net/xstatic/6jm2prwL/5/
HTML
<div id="slider">
</div>
<div id="response">
</div>
JS
jQuery('#slider').slider({
min: 0,
max: 100,
step: 1,
values: [0, 100],
slide: function(event, ui) {
for (var i = 0; i < ui.values.length; ++i) {
theresult(ui.values[i]);
}
}
});
function theresult(theresult) {
jQuery('#response').html(theresult);
}
擺脫你的 for 循環。 相反,單獨調用每個結果。 所以而不是這個:
for (var i = 0; i < ui.values.length; ++i) {
theresult(ui.values[i]);
}
做這樣的事情:
alert(ui.values[0]);
alert(ui.values[1]);
或者,如果您需要它們都轉到“響應”div,您可以單獨調用它們並將它們連接為這樣的字符串(而不是 for 循環或上面的兩個警報):
theresult(ui.values[0] + ',' + ui.values[1]);
其中任何一個都會為您提供個人價值。 您可以將各個值保存到變量中,並將它們與舊版本進行比較,看看它們是否發生了變化。 像這樣:
var min = 0;
var max = 100;
jQuery('#slider' ).slider({
min: 0,
max: 100,
step: 1,
values: [0, 100],
slide: function(event, ui) {
var newMin = ui.values[0];
var newMax = ui.values[1];
if (newMin != min) {
theresult("Minimum changed: " + newMin);
min = newMin;
}
else if (newMax != max) {
theresult("Maximum changed: " + newMax);
max = newMax;
}
}
});
function theresult(theresult) {
jQuery('#response').html(jQuery('#response').html() + '<br>' + theresult);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.