2016-01-19 44 views
0

使用這裏的一些代碼(stackoverflow)我創建了自己的一個。下面介紹:jQuery-val不會從輸入/ UI滑塊刷新數據

$(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/

+0

爲'#input-1'設置一個新值後,您不會觸發'change'事件。這可能是問題所在。 –

回答

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函數之前乘法。

1

$( '#輸入1')VAL(ui.value).trigger( '變化')。

val更新後,手動觸發輸入上的更改事件。

+0

謝謝!它完美的作品:) –