JQuery UI Slider устанавливает значение динамически при скольжении слайдера - PullRequest
0 голосов
/ 04 мая 2018

Я использую слайдер jquery, если я перемещаю слайдер, в функции слайда Я опробую определенный сценарий. Если сценарий не выполняется, ползунок должен быть возвращен в исходное положение.

Например:

Текущее значение ползунка - 1, и пользователь перемещает его к значению 2 в функции slide: function (event, ui). Я проверяю условие, если не удовлетворено, значение ползунка должно быть возвращено к значению 1.

Так что я использовал код в другой части

$ ("# slider"). Slider ({value: parseFloat (return_slider_value)});
$ ("# slider"). slider ('value', 1);

Он не сбрасывает значение 1, но показывает значение 2 в ползунке.

Мое требование - значение ползунка должно динамически изменяться.

var slider_Value = $.trim(data.details.merchant_table_booking_hours);
if (slider_Value == '') 
{
  slider_Value = 0;
}
var return_slider_value = slider_Value;
$("#slider").slider({
value: slider_Value,
min: 0,
max: 12,
step: 0.5,
slide: function (event, ui) 
{
    var selected_button_count = 0;
    $(".time_slot_buttons").each(function () 
    {
        if(this.attr('selected-id')==0)
        {
            selected_button_count = parseInt(selected_button_count)+1;
        }
    });
    if (selected_button_count>0)
    {
        if (parseFloat(ui.value) != 0) 
        {
            $("#slider-value").val(ui.value);
            $("#show-slider-hrs").html(ui.value + " hrs ");
        } else 
        {
            $("#slider-value").val('');
            $("#show-slider-hrs").html('');
        }
    }
    else
    {
        alert("Please Select a Floor And Timing Buttons" + return_slider_value);
        $("#slider-value").val(return_slider_value);
        $("#show-slider-hrs").html(return_slider_value + " hrs ");
        $("#slider").slider({ value: parseFloat(return_slider_value) });                                                                 
        $("#slider").slider('value', 1);
    }
}
})

Заранее спасибо.

1 Ответ

0 голосов
/ 04 мая 2018

Как вы увидите из документации API на jQuery UI Slider (http://api.jqueryui.com/slider/),, после инициализации слайдер можно прочитать и установить следующим образом:

// Getter
var value = $( ".selector" ).slider( "option", "value" );

// Setter
$( ".selector" ).slider( "option", "value", 10 );

EDIT:

Ответ может зависеть от значения, которое вы возвращаете событию slide. Рассмотрим этот код.

$(function() {
    $("#slider").slider({
      value: 1,
      min: 0,
      max: 12,
      step: 0.5,
      slide: function(event, ui) {
        //Evaluate condition
        var condition = false; //or true
        if (!condition)
            return false; //Canceling the event will prevent the handle from moving and the handle will continue to have its previous value.
        else
            return true;
      }
    });
});

Полный пример здесь .

Отмена события slide предотвратит перемещение ручки, и ручка будет продолжать иметь свое предыдущее значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...