Слайдер ui с текстовым полем ввода

У нас есть слайдер ui, который мы используем, и он работает безупречно.

код:

jQuery(function() {
jQuery( "#slider-range-min" ).slider({
    range: "min",
    value: 1,
    step: 1000,
    min: 0,
    max: 5000000,
    slide: function( event, ui ) {
        jQuery( "#amount" ).val( "$" + ui.value );
    }
});
jQuery( "#amount" ).val( "$" + $( "#slider-range-min" ).slider( "value" ) );
});

Как вы можете видеть, мы разрешаем пользователю выбирать что угодно между 0 и 5 000 000.

Html:

<div id="slider-range-min" style="width: 460px; float:left;margin:10px;"></div>

Что я хочу сделать, это добавить элемент ввода текста, который работает в согласии с ползунком, так как пользователь скользит по текси-боксу, уменьшает все.

Или, если пользователь вводит числа во входной элемент, ползунок перемещается соответствующим образом.

Любая помощь пожалуйста?

Предварительный просмотр:

enter image description here

Ответы

Ответ 1

Вам нужно обновить элемент input (например, теперь вы делаете элемент #amount) на slide:

$("#slider").slider({
    range: "min",
    value: 1,
    step: 1000,
    min: 0,
    max: 5000000,
    slide: function(event, ui) {
        $("input").val("$" + ui.value);
    }
});

Кроме того, вам нужно привязать к событию change для элемента input и вызвать метод слайдера value:

$("input").change(function () {
    var value = this.value.substring(1);
    console.log(value);
    $("#slider").slider("value", parseInt(value));
});

Пример: http://jsfiddle.net/andrewwhitaker/MD3mX/

Здесь нет подтверждения (вы должны включить знак "$", чтобы он работал). Вы можете добавить еще более надежную входную санитарию, чтобы улучшить ее.