jQuery UI滑块使用范围大,行为奇怪
我有以下代码,但jQueryUI滑块有问题。我的问题是: 虽然滑块渲染正确,但其行为非常奇怪。我是什么意思?它不是渲染到处理程序,而是只渲染一个,滑块只能滑动,直到值70成为数组中的第二个值。你对如何解决那个问题有什么想法吗 这是我的密码: HTML:jQuery UI滑块使用范围大,行为奇怪,jquery,jquery-ui,Jquery,Jquery Ui,我有以下代码,但jQueryUI滑块有问题。我的问题是: 虽然滑块渲染正确,但其行为非常奇怪。我是什么意思?它不是渲染到处理程序,而是只渲染一个,滑块只能滑动,直到值70成为数组中的第二个值。你对如何解决那个问题有什么想法吗 这是我的密码: HTML: 请注意,所有值都是从隐藏字段中正确检索的。经过长时间的调查,您似乎可以在初始化后设置值或值 因此,除了这样做,我没有找到其他解决方案: 它可以工作,但并不优雅:)您至少应该在变量中保存$(这个)(和.prev()。有什么想法吗,或者我有什么问题吗
请注意,所有值都是从隐藏字段中正确检索的。经过长时间的调查,您似乎可以在初始化后设置
值
或值
因此,除了这样做,我没有找到其他解决方案:
它可以工作,但并不优雅:)您至少应该在变量中保存
$(这个)
(和.prev()。有什么想法吗,或者我有什么问题吗?:?我将阅读代码,如果答案正确,我将标记为答案:)非常感谢Guillaume Cisco!:)@梅里亚诺斯尼科斯:我对代码进行了一点更新,使之更简单(更快):我相信纪尧姆不会介意的@MerianosNikos:还有一点很有趣,那就是可以进一步简化(没有if
语句)。同时提供这两个属性(值
和值
)并没有坏处。滑块将使用基于范围
属性值的滑块。有趣且完全简化。
<td valign="top">
<input
class="slider_hidden"
type="hidden"
name="field_name"
value="10,70"
id="slider_hidden"
data-disabled="0"
data-min="0"
data-max="100"
data-orientation="horizontal"
data-step="1"
data-range="1"
/>
<div class="slider"></div>
<br />
<span class="description"><?php echo $description; ?></span>
</td>
$(document).ready(
function()
{
$(".slider").each(
function()
{
var val = $(this).prev('input.slider_hidden').val();
var min = $(this).prev('input.slider_hidden').data('min');
var max = $(this).prev('input.slider_hidden').data('max');
var step = $(this).prev('input.slider_hidden').data('step');
var slide_disabled = ($(this).prev('input.slider_hidden').data('disabled') == "1" ? true : false);
var orientation = $(this).prev('input.slider_hidden').data('orientation');
var range = ($(this).prev('input.slider_hidden').data('range') == "1" ? true : false);
$(this).slider(
{
min: min,
max: max,
step: step,
disabled: slide_disabled,
orientation: orientation,
slide: function(e, ui)
{
console.log(ui);
$(this).prev('input.slider_hidden').val(ui.value);
}
}
);
$(this).slider('option', 'range', range);
if(range == true)
{
var s = val.split(',');
$(this).slider("option", "values", s);
}
else
{
$(this).slider("option", "value", val);
}
}
);
}
);