javascript - 不允许输入中的值变为 =< 0

标签 javascript jquery

我有以下代码,让用户按减号并达到 0、-1、-2、...-999... 等值:

http://jsfiddle.net/yrn58egv/

HTML

<table class="table table-condensed table-hover table-striped">
    <thead>
        <tr>
            <th class="shrink">TICKET</th>
            <th class="shrink">VALUE</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Y00001</td>
            <td>
                <div class="input-group">   <span class="input-group-btn">
                        <button class="btn btn-default btn-minuse" type="button">-</button>
                    </span>

                    <input type="text" name="Y00001" class="form-control text-center" maxlength="3" value="">   <span class="input-group-btn">
                        <button class="btn btn-default" type="button">+</button>
                    </span>

                </div>
            </td>
        </tr>
        <tr>
            <td>Y00002</td>
            <td>
                <div class="input-group">   <span class="input-group-btn">
                        <button class="btn btn-default btn-minuse" type="button">-</button>
                    </span>

                    <input type="text" name="Y00002" class="form-control text-center" maxlength="3" value="">   <span class="input-group-btn">
                        <button class="btn btn-default" type="button">+</button>
                    </span>

                </div>
            </td>
        </tr>
        <tr>
            <td>Y07851</td>
            <td>
                <div class="input-group">   <span class="input-group-btn">
                        <button class="btn btn-default btn-minuse" type="button">-</button>
                    </span>

                    <input type="text" name="Y07851" class="form-control text-center" maxlength="3" value="">   <span class="input-group-btn">
                        <button class="btn btn-default" type="button">+</button>
                    </span>

                </div>
            </td>
        </tr>
        <tr>
            <td>Y71710</td>
            <td>
                <div class="input-group">   <span class="input-group-btn">
                        <button class="btn btn-default btn-minuse" type="button">-</button>
                    </span>

                    <input type="text" name="Y71710" class="form-control text-center" maxlength="3" value="">   <span class="input-group-btn">
                        <button class="btn btn-default" type="button">+</button>
                    </span>

                </div>
            </td>
        </tr>
    </tbody>
</table>

JAVASCRIPT

$('.btn').on('click', function() {
  var $input = $(this).closest('.input-group').find('input');
  var val = +$input.val();
  $input.val(($(this).hasClass('btn-minuse') ? val - 1 : val + 1) || 0);
});

输入怎么才能不让值变成=< 0呢?因此,如果输入中没有任何内容,然后按减号或加号,则该值将为 1。如果为 1,然后按减号,则应保留 1。

最佳答案

$('.btn').on('click', function() {
  var $input = $(this).closest('.input-group').find('input');
  var val = +$input.val();
  val = ($(this).hasClass('btn-minuse') ? val - 1 : val + 1) || 0;
  $input.val((val < 0 ? val + 1 : val)) 
});

关于javascript - 不允许输入中的值变为 =< 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617424/

相关文章:

javascript - 使用 Express 和 Node 将值传回 Jade 渲染

php - Javascript不会拉取php变量吗?

jquery - .each 不不断循环

javascript - 将 Html 存储到数组中,然后将其保存在数据库中并检索该数组 - 显示错误

jquery - 图像选择框而不是文本选择?

javascript - 如何将集合插入到 meteor 表单中

javascript - Angular.js 装饰指令没有获得指令范围

javascript - 当我点击提交按钮时,如何将复选框/单选按钮发布到文本区域?

javascript - 引用错误: function is not defined even if function is defined

javascript - 发送 jqueryAjax 请求时出现错误