jquery ui在表单验证期间使用多个滑块及其值

tsi*_*ger 1 jquery user-interface slider

我使用jQuery UI设置5个滑块,形式如下:

$(".slider").slider({
   step: 1,
   min:0,
   max:10,
   value: 5,
   start: // start logic,
   slide: function(event, ui) { //slide logic },
   stop: function(event, ui) { //stop logic }
Run Code Online (Sandbox Code Playgroud)

});

滑块是表单的一部分,其他字段如名称,电子邮件等.当提交表单并显示可能错误的表单时,滑块重置为5(默认值).是否有可能而不是重置以显示用户指定的值?

Eri*_*oss 5

您可以设置隐藏的表单字段,以便在更改时保存滑块的值.

然后,当您的表单重新加载时,根据隐藏的表单字段设置滑块.

我通常用滑块做的是在它们下面直接有一个文本框,当用户设置滑块时会更新.通过一些一致的命名约定,这很容易做到.

这是一个简单的例子:

<script type="text/javascript">
$(document).ready(function() {
    $(".slider1").slider({
        step: 1,
        min: 0,
        max: 10,
        value: 5,
        slide: function(event, ui) {
            //get the id of this slider
            var id = $(this).attr("id");

            //select the input box that has the same id as the slider within it and set it's value to the current slider value. 
            $("input[id*=" + id + "]").val(ui.value);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

这是HTML部分:

<div class="slider1">       
</div>
<input type="text" id="slider1-txt" />
Run Code Online (Sandbox Code Playgroud)

如果您不想要输入框,则可以使用隐藏字段替换它们.