【问题标题】:Minimum value not working最小值不起作用
【发布时间】:2018-01-25 16:12:31
【问题描述】:

我为 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>

【问题讨论】:

  • 您能否详细解释一下,以便我们更好地帮助您
  • 您将相同的代码重复了 4 次,因为您有 4 个滑块。如果您有 100 个滑块,我认为您不会想要复制/粘贴 100 次相同的代码。
  • @JeremyThille 我只需要 2 个滑块
  • 所以你的 JSfiddle 中有 2 个额外的。
  • @FaisalMehmoodAwan 我将“医疗费用”的最小值设置为 1(字段 1),将车辆损坏设置为 2(字段 2),将收入损失设置为 3(字段 3),将“租车费用”设置为 4(字段 4)。当我们运行脚本时:对于 field2、field3 和 field4 显示 field1 的最小值。当我们移动滑块时,最小值将正常工作。

标签: javascript jquery html css minimum


【解决方案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);

【讨论】:

    猜你喜欢
    • 2018-08-14
    • 2015-04-08
    • 2022-08-08
    • 1970-01-01
    • 2012-06-06
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多