Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery UI滑块使用范围大,行为奇怪_Jquery_Jquery Ui - Fatal编程技术网

jQuery UI滑块使用范围大,行为奇怪

jQuery UI滑块使用范围大,行为奇怪,jquery,jquery-ui,Jquery,Jquery Ui,我有以下代码,但jQueryUI滑块有问题。我的问题是: 虽然滑块渲染正确,但其行为非常奇怪。我是什么意思?它不是渲染到处理程序,而是只渲染一个,滑块只能滑动,直到值70成为数组中的第二个值。你对如何解决那个问题有什么想法吗 这是我的密码: HTML: 请注意,所有值都是从隐藏字段中正确检索的。经过长时间的调查,您似乎可以在初始化后设置值或值 因此,除了这样做,我没有找到其他解决方案: 它可以工作,但并不优雅:)您至少应该在变量中保存$(这个)(和.prev()。有什么想法吗,或者我有什么问题吗

我有以下代码,但jQueryUI滑块有问题。我的问题是:

虽然滑块渲染正确,但其行为非常奇怪。我是什么意思?它不是渲染到处理程序,而是只渲染一个,滑块只能滑动,直到值70成为数组中的第二个值。你对如何解决那个问题有什么想法吗

这是我的密码:

HTML:


请注意,所有值都是从隐藏字段中正确检索的。

经过长时间的调查,您似乎可以在初始化后设置

因此,除了这样做,我没有找到其他解决方案:


它可以工作,但并不优雅:)

您至少应该在变量中保存
$(这个)
(和
.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);
                }
            }
        );
    }
);