jQuery - val不会刷新输入/ UI滑块中的数据

时间:2016-01-19 15:59:04

标签: javascript jquery jquery-ui

使用此处的一些代码(stackoverflow)我创建了自己的代码。如下所示:

$(document).ready(function() {

  $('#slider-1').slider({
    min: 0,
    max: 100,
    change: function(e, ui) {
      $('#input-1').val(ui.value);     
    }
  });

});

$('input').change(function(){
        var value1=$('input[name="input-1"]').val();
        var number1=0.01;

        var Total1=(value1*number1).toString().replace(/\./g, ',');
        $('input[name="input-2"]').val(Total1);
});

HTML

<div class="slider" id="slider-1"></div>
<input class="input-1" id="input-1" name="input-1" /><br />
<input class="input-2" id="input-2" name="input-2" />

CSS:

input {
  margin:10px auto;
  clear:both;
  width:80%;
}

.slider {
  margin:1em;
  width:90%;
}

事情是 - 滑块工作并在第一个输入中显示值。但不幸的是,我的乘法函数不起作用。为什么?如何通过输入-2创建/创建即时监督输入-1?

jsfiddle显示了最新进展 - https://jsfiddle.net/c23wuemw/1/

2 个答案:

答案 0 :(得分:1)

$( '#输入-1')VAL(ui.value).trigger( '变更');

更新val后手动触发输入上的更改事件。

答案 1 :(得分:0)

试试这个:

$(document).ready(function() {

  $('#slider-1').slider({
     min: 0,
     max: 100,
     change: function(e, ui) {
       $('#input-1').val(ui.value);
        var value1=parseInt($('input[name="input-1"]').val());

        var number1=0.01;

        var Total1=(value1*number1).toString().replace(/\./g, ',');
        $('input[name="input-2"]').val(Total1);
    }
 });

});

我已将.change代码移动到.slider inititation中的正确事件,并且我在乘法之前对该值执行了parseInt。