Приводе значения в input ui slider перестает менять значения этого input`a. Как исправить?

часть HTML
<p class="name_p" style="font-size:18px;">Сумма займа</p>
        <input type="text" id="amount_calc" value="1 000" onkeyup="isright(this); this.value=this.value.replace(/[^0-9]+/g,'');">
        <lable id="calc_after">&nbsp;</lable>
        <input type="number" id="amount_calc_hide" value="1000" style="display:none">
        <div id="amount"></div>
        <span id="min">1000</span><span id="max">50000</span>
        <br>
        <p class="name_p" style="font-size:18px;">Срок займа</p>
        <input type="text" id="amount_calc_day" value="1" onkeyup="isright_day(this); this.value=this.value.replace(/[^0-9]+/g,'');">
          <lable id="day_after">&nbsp;</lable>
        <input type="number" id="amount_calc_day_hide" value="1" style="display:none">
        <div id="amount_day"></div>
        <br>
        <span id="min_day">1</span><span id="max_day">96</span>


Сам слайдер.

$("#amount").slider({
        animate: true,
        range: "min",
        min: 1000,
        max: 50000,
        value: 100,
        step: 1000,
        create: function (event, ui) {
            $(this).slider("option", 'min', min);
            $(this).slider("option", 'max', max);
            calc();
        },
        slide: function (event, ui) {
            /*Заменить значение импун на значение с пробелом*/
            var str = '' + ui.value + '';
            var str = str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
            $("#amount_calc_hide").attr('value', ui.value);
            $('#summa').attr('value', ui.value);
            $('#summa1').attr('value', ui.value);
            $("#amount_calc").attr('value', ui.value);
        },
        change: function (event, ui) {
            var str = '' + ui.value + '';
            var str = str.replace(/(\d)(?=(\d\d\d)+([^\d]|$))/g, '$1 ');
            $("#amount_calc_hide").attr('value', ui.value);
            $('#summa').attr('value', ui.value);
            $('#summa1').attr('value', ui.value);
            $("#amount_calc").attr('value', ui.value);

            calc();
            /*  var sum = $("#amount_calc");
             format(sum);*/
        }
    });


Пример vm-7175b4f7.netangels.ru/modx/index.php.

Ну собственно ввожу число в input в калькуляторе потом передвигаю слайдер и числа перестают вставляться в слайдеры.

Подскажите как исправить?

jsfiddle.net/ckntr2jy
Правильно работает. Но у меня все таки глючит.
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
sinneren
@sinneren
$("#amount_calc").attr('value', str); Меняет значение атрибута. А у инпута есть конструктор из скрытых дивов, где находится текст значения. Его тоже нужно менять. Потому, нужно использовать $("#amount_calc").val(str);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы