jquery - 带有 jquery ui 多个 slider 的表单...只为所有 slider 提交一个值

标签 jquery forms sliders

我一直在通过 stackoverflow 和其他地方自学,学到了很多东西,但对此仍然很陌生。我正在设置一个包含 5 个 slider 的表单,其值随后将发布到 PHP 页面。一切工作正常...除了表单提交每个 slider 的最终 slider 的值。我想我需要使用 this 属性或 each 函数,但我不确定如何...

这是我的 JS:

$(function(){

    var currentValue = $('#currentValue');

    $("#slider1,#slider2,#slider3,#slider4,#slider5").slider({ 
        range: "min",
        value:37,
        min:1,
        max: 500,
        slide: function(event, ui) {
            currentValue.html(ui.value);
            $("input:hidden").val(ui.value);
        }
    });

});

这是我的 HTML:

<input type=hidden name="slider1" id="slider1" class="slider-input" value="ui.value" />
<input type=hidden name="slider2" id="slider2" class="slider-input" value="ui.value" />
<input type=hidden name="slider3" id="slider3" class="slider-input" value="ui.value" />
<input type=hidden name="slider4" id="slider4" class="slider-input" value="ui.value" />
<input type=hidden name="slider5" id="slider5" class="slider-input" value="ui.value" />

有什么建议吗?我被难住了!

最佳答案

由于缺乏对表单中输入结构的更好理解,我将假设表单中唯一的隐藏字段与每个 slider 匹配,以便可以对它们进行索引。

有时,在 each 循环中实现插件会更容易,这样您就可以在 javscript 闭包中简单地访问集合的每个元素。 jQuery UI 可以让您访问事件中的各个元素,但并非所有插件都这样做,因此这种模式有时非常有用。

var $sliders=$("#slider1,#slider2,#slider3,#slider4,#slider5")

$sliders.each(function(){
    /* now have access to individual slider eleemnt*/
   var $slide=$(this);
      /* match input index to index of this slider*/
    var $input= $("input:hidden").eq(  $sliders.index($slide) );
    /* initiate slider on this element*/
     $slide.slider({ 
        range: "min",
        value:37,
        min:1,
        max: 500,
        slide: function(event, ui) {
            currentValue.html(ui.value);
            /* assign value to correct input */
            $input.val(ui.value);
        }
    });
});

关于jquery - 带有 jquery ui 多个 slider 的表单...只为所有 slider 提交一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104757/

相关文章:

javascript - 如何在没有重定向的情况下通过 Javascript 函数在 Razor View 中提交表单?

javascript - 将自动播放功能添加到简单的 jQuery slider

jquery - 如何在div中间垂直对齐多个图像

javascript - 如何在完全运行后停止间隔

c# - Kendo UI 将 DropDownList 添加到 Grid (MVC)

javascript - JQuery 切换删除

jQuery Cycle 插件 - 如何返回当前显示幻灯片的索引号?

java - 将空值绑定(bind)到 Play Framework 2 (Java) 中的数字字段

c# - 使用 C# 以编程方式登录 Microsoft Online 网站

Java 程序将使用两个 slider 生成的两个数字相加