gpt4 book ai didi

javascript - jQuery Slider 通过 AJAX 发送错误的值

转载 作者:行者123 更新时间:2023-12-04 07:50:16 24 4
gpt4 key购买 nike

我正在使用 jQuery Slider插入。 slider 的当前选定值应使用 AJAX 发送到服务器端脚本。
目前我有一个错误的行为。当前选择的值总是在使用 AJAX 发送的值之前或之后的一个值。
例如 :如果您滑动到值 5/50,它将向服务器端脚本发送“6”而不是“5”。
我做了一个 JS Fiddle .只需在开发人员网络选项卡下查看即可。

  // Slider Script

$("#slider-vertical").slider({
orientation: "horizontal",
range: "min",
min: 1,
max: 50,
value: 50,
slide: function (event, ui) {
$("#amount").val(ui.value);
},
});

$("#amount").val($("#slider-vertical").slider("value"));

// Get Response
$('#slider-vertical').on('slide', getResponse);
getResponse(0);

function getResponse() {
let itemlevel2 = $("#slider-vertical").slider("value");

ajaxManager.add({
type: "GET",
cache: "true",
url: "itemscript.php",
data: {
"itemlevel": itemlevel2
},
success: function (data) {

}
});
}
});

最佳答案

要纠正此行为,您可以使用 stop事件仅在 slider 停止移动时进行 AJAX 调用。这有一个额外的好处,那就是不会向您的服务器请求 slider 移动的每个值。试试这个:

jQuery(function($) {
$("#slider-vertical").slider({
orientation: "horizontal",
range: "min",
min: 1,
max: 50,
value: 50,
slide: function(event, ui) {
$("#amount").val(ui.value);
},
stop: getResponse
});

$("#amount").val($("#slider-vertical").slider("value"));
getResponse(0);

function getResponse() {
let itemlevel2 = $("#slider-vertical").slider("value");
console.log(itemlevel2);
// AJAX here...
}
});
.ui-widget.ui-widget-content {
border: 1px solid #c5c5c5;
width: 100%;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header {
border: 1px solid #444 !important;
background: none !important;
}

.ui-slider .ui-slider-handle {
position: absolute;
z-index: 2;
width: 1.2em;
height: 1.2em;
cursor: default;
-ms-touch-action: none;
touch-action: none;
}

.ui-widget.ui-widget-content {
border: 1px solid #c5c5c5;
background-color: #353232;
}

.ui-slider-horizontal .ui-slider-range-min {
left: 0;
background-color: #817373!important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript" src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" type="text/css" href="code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">

<p>
<label class="item-slider" for="amount">Stufe:</label>
<input class="item-slider" readonly id="amount">/
<input class="item-slider" readonly id="amount2" value="50">
</p>
<div id="slider-vertical" style="height: 10px;"></div>

关于javascript - jQuery Slider 通过 AJAX 发送错误的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67021583/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com