我正在使用jQuery滑块插件。滑块的当前选定值应该用AJAX发送到服务器端脚本。
目前我有一个错误的行为。当前选择的值总是在用Ajax发送的值之前或之后的一个值。
例如:如果滑到值5/50,它将向服务器端脚本发送“6”而不是“5”。
我做了一把JS小提琴。只需在developers network选项卡下查看。
// 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
事件仅在滑块停止移动时进行AJAX调用。这样做的另一个好处是,不会让您的服务器充斥着对滑块所移动的每个值的请求。试试看:
null
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>
问题内容: 有一行可以一次只容纳三个图像,但是我在服务器中有几个图像,我想全部取走。所以在这种情况下,我需要图像滑块。 让说,有10幅图像,例如和行和它包含只有三个非常久远。我想要的是?单击slider_button时,图像应沿按钮方向一一向前。假设,如果我点击则应该行,而不是。因此,有一幅图像被转发到左方向,而另一幅新图像被提取为 请给我一些提示。我想从服务器获取图像会更有用,对吗? 问题答案:
问题内容: 嗨,我在下面的脚本中遇到了问题。我认为问题在于需要通过AJAX发送到php的数据。 jQuery的 并且,PHP 但是,如果我这样做 并改变这个 脚本工作正常。我需要做些什么才能使以上两个脚本都能正常工作?提前致谢。 问题答案: 我将我的评论作为答案。 除了使用已弃用的jQuery API外,其他人没有指出的是以下内容: 您在下一行中正在做什么: 是您向服务器保证HTTP实体将是JSO
问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将
任何指针都会有帮助,我试着玩contentTypes,但还是没有运气
下面是我使用的JQUERY脚本,我将值从slider发送到,然后输入,然后在PHP中使用,以获取请求。 我想要一些帮助,在保持刷新后滑块上的值这里是我的表单和PHP 我不太了解jquery,因此我尝试了jquery原始网站上的滑块,我可以从数据库中检索结果,但我不知道如何保持滑块值不变,有没有办法从url获取滑块值,比如我想要“500”。 请不要告诉我我使用OBSOLETE MYSQL,它将从PH
问题内容: 好的,我已经看到有关此问题的大量问题,但实际上没有一个答案对我有用,这是我的AJAX: var“ jsonFilters”包含一个包含以下数据的数组: 这是我的控制器: jsonFilters始终为null …我也尝试过添加到AJAX调用中…但是那实际上并没有做任何事情 最后,该类的结构如下: 关于我可能会丢失或正在发生的事情有什么想法吗? 到目前为止我尝试过的事情: 使用JSON.s