语义UI数字向上控制

问题描述 投票:2回答:2

是否有任何Semantic UI Numeric Up Down控件具有最小,最大和步数选项?

spinner semantic-ui numericupdown
2个回答
2
投票

没有找到这样的控件,所以我做了这个代码:

HTML

<div class="ui right labeled input">
    <input type="text" id="txtNum" value="5">
    <div class="ui mini vertical buttons">
        <button class="ui icon button" command="Up"> <i class="up chevron icon"></i>

        </button>
        <button class="ui icon button" command="Down"> <i class="down chevron icon"></i>

        </button>
    </div>
</div>

JS

// Constants
var KEY_UP = 38,
    KEY_DOWN = 40;

// Variables
var min = 0,
    max = 30,
    step = 1;

$('.ui.icon.button').click(function () {
    var command = $(this).attr('command');
    HandleUpDown(command);
});

$('#txtNum').keypress(function (e) {
    var code = e.keyCode;
    if (code != KEY_UP && code != KEY_DOWN) return;
    var command = code == KEY_UP ? 'Up' : code == KEY_DOWN ? 'Down' : '';
    HandleUpDown(command);
});

function HandleUpDown(command) {
    var val = $('#txtNum').val().trim();
    var num = val !== '' ? parseInt(val) : 0;

    switch (command) {
        case 'Up':
            if (num < max) num += step;
            break;
        case 'Down':
            if (num > min) num -= step;
            break;
    }

    $('#txtNum').val(num);
}

这是DEMO


1
投票

我们可以使用type作为'number'来获得所需的增量/减量控制。

<Input type="number"  />
© www.soinside.com 2019 - 2024. All rights reserved.