2017-08-17 63 views
0

我爲4件事物設置了一個最小值,並且遇到了一個問題。所有4件事物都有第一件事的最小值。當我們移動滑塊時,一切都恢復正常並且正常工作。哪裏有問題?最小值不起作用

鏈接:https://jsfiddle.net/57nv61a1/

$('#field2').rangeslider({ 
 
     polyfill:false, 
 
     onInit:function(){ 
 
     
 
      $('#input2').val($('input[type="range"]').val()); 
 
     }, 
 
     onSlide:function(position, value){ 
 
      $('.content #input2').val(value); 
 
     }, 
 
     onSlideEnd:function(position, value){ 
 
     } 
 
    }); 
 
    // Change the value of input field when slider changes 
 
    $('#field2').on('input', function() { 
 
     $('#input2').val(this.value); 
 
     console.log('$'+$('#input2').val()); 
 
    }); 
 
    // Change the value of slider field when input changes 
 
    $('#input2').on('input', function() { 
 
     if (this.value.length == 0) $('#field2').val(0).change(); 
 

 
     $('#field2').val(this.value).change(); 
 
    });
<label for="medical-expenses">Medical Expenses</label> 
 
<span class="label1">$ <input type="number" id="input1" min="1" max="10000"></input></span> 
 
<input id="field1" name="field1" type="range" min="1" max="10000" value="0" data-rangeslider> 
 

 
<label for="vehicle-damage">Vehicle Damage</label> 
 
<span class="label2">$ <input type="number" id="input2" min="2" max="10000"></input></span> 
 
<input id="field2" name="field2" type="range" min="2" max="10000" value="0" data-rangeslider>

+0

你能解釋更詳細一點請以便我們更好的 –

+0

幫助你,你重複相同的代碼4次,因爲你有4個滑塊。如果你有100個滑塊,我不認爲你想複製/粘貼100次相同的代碼。 –

+0

@JeremyThille我需要只有兩個滑塊 – Beerks

回答

1

這條線:

$('#input4').val($('input[type="range"]').val()); 

選擇所有input[type="range"],取第一個的值,並將其分配給$('#input4')

既然你複製/粘貼相同的代碼4次,每次輸入獲取具有相同的價值,這是1

$('#input1').val($('input[type="range"]').val()); 
$('#input2').val($('input[type="range"]').val()); 
$('#input3').val($('input[type="range"]').val()); 
$('#input4').val($('input[type="range"]').val()); 

你開始移動滑塊,然後回到起點後,該值初始化變化,然後,相應的最小值(1,2,3,4)適用。

的解決方案,雖然還是很不雅觀,將手動分配正確的初始值:

$('#input1').val(1); 
$('#input2').val(2); 
$('#input3').val(3); 
$('#input4').val(4);