Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 递增输入类型编号_Javascript_Jquery - Fatal编程技术网

Javascript 递增输入类型编号

Javascript 递增输入类型编号,javascript,jquery,Javascript,Jquery,你好,我有一个数字类型的输入,形式是一个金额,我做了两个按钮,一+和一-按钮来增加,减少金额,问题是在某些情况下,增量不应该是1,而是2,5,15,等等 所以我做了这件事: 我的表格: <div id="ModalScan" class="modal fade" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="m

你好,我有一个数字类型的输入,形式是一个金额,我做了两个按钮,一+和一-按钮来增加,减少金额,问题是在某些情况下,增量不应该是1,而是2,5,15,等等

所以我做了这件事:

我的表格:

<div id="ModalScan" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <!-- Modal content-->
        <div class="modal-content">
            <div class="modal-header">
                 Scannez les codes-barres à ajouter à la commande.
            </div>
            <div class="modal-body" style="height: 214px;">
                <br/>
                {{ form_start(scan_form, {'attr': {'id' : 'scan-reassort', 'class' : 'form-inline'}}) }}
                    {{ form_label(scan_form.gencode) }}
                    {{ form_errors(scan_form.gencode) }}
                    {{ form_widget(scan_form.gencode, {'attr': {'onkeyup': 'showHint(this.value)'} }) }}
                    <br><label>Designation : </label><span id="designationModal" style="padding-left: 20px;"></span><br>
                    <br><label>Prix unitaire : </label><span id="prixModal" style="padding-left: 20px;"></span><br>
                    <br><label>Colisage : </label><span id="colisageModal" style="padding-left: 40px;"></span><br>
                    {{ form_label(scan_form.quantite) }}
                    {{ form_errors(scan_form.quantite) }}
                    {{ form_widget(scan_form.quantite, {'attr': {'min': '','value': ''}})}}
                    &nbsp;<a href="#ajout" id="plus"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span></a>&nbsp;&nbsp;<a href="#moins" id="moins"><span class="glyphicon glyphicon-minus" aria-hidden="true"></span></a><br/><br/>
                {{ form_rest(scan_form) }}
                {{ form_end(scan_form) }}
            </div>
            <div class="modal-footer">
                <input type="submit" class="btn btn-menu" value="Valider">
                <button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
            </div>
        </div>
    </div>
</div>
我不知道为什么,但这根本不起作用,我尝试过很多方法,比如:

$(function(){
var input = $('#reassort_scan_quantite');
var inputValue = parseInt(input.val());
var plus = $('#plus');
var moins = $('#moins');
var colisage = parseInt(input.attr("data-colisage"));
var min = parseInt(input.attr("min"));
var step = (min < 2) ? 1 : colisage;
var miniCommande = parseInt(input.attr('min'));

function addition(){
    if(miniCommande < 2){
            inputValue++;
    }
    else{
            inputValue = inputValue + colisage;
    }
    input.val(inputValue);
}

function soustraction(){
    if(input.val() > 1){
        if(miniCommande < 2){
                inputValue--;
        }
        else{
            inputValue = inputValue - colisage;
        }
        input.val(inputValue);
    }
}

$('#plus').click(function (e) {
    e.preventDefault();
    addition();
});

$('#moins').click(function(e){
    e.preventDefault();
    soustraction();
});

});
$(函数(){
var输入=$('重新分类'扫描'量化');
var inputValue=parseInt(input.val());
var plus=$(“#plus”);
变量moins=$(“#moins”);
var colisage=parseInt(input.attr(“数据colisage”);
var min=parseInt(input.attr(“min”));
var阶跃=(最小值<2)?1:大肠杆菌;
var minicomande=parseInt(input.attr('min'));
函数加法(){
如果(迷你命令<2){
inputValue++;
}
否则{
输入值=输入值+共列;
}
input.val(inputValue);
}
函数soutraction(){
if(input.val()>1){
如果(迷你命令<2){
输入值--;
}
否则{
inputValue=inputValue-共列;
}
input.val(inputValue);
}
}
$('#plus')。单击(函数(e){
e、 预防默认值();
加法();
});
$('#moins')。单击(函数(e){
e、 预防默认值();
soutraction();
});
});
但是仍然没有工作:/,有人能帮我吗


这是我需要的东西,但在我的例子中,值是在页面加载后设置的。

您应该能够使用浏览器本身来生成此功能,而不是自己进行艰苦的工作。例如:


正如我在评论中所说的,请阅读方法中的值/属性。基本思想,无需有两种不同的方法

$(“[data dir]”)。在(“单击”上,函数(){
var dir=$(this).data(“dir”),
inp=$(“#x”),
步骤=编号(输入数据(“步骤”),
最小值=数量(输入数据(“最小”),
val=数字(inp.val());
val=dir*step+val;
如果(val

+

-
我找到了答案,谢谢大家

$(function () {
    console.log("toto");

    function addition() {
        var input = $('#reassort_scan_quantite');
        var inputValue = parseInt(input.val());
        var colisage = parseInt(input.attr("data-colisage"));
        var min = parseInt(input.attr("min"));
        var miniCommande = parseInt(input.attr('min'));
        if (miniCommande === 1) {
            inputValue++;
        } else {
            inputValue = inputValue + colisage;
        }
        input.val(inputValue);
    }

    function soustraction() {
        var input = $('#reassort_scan_quantite');
        var inputValue = parseInt(input.val());
        var colisage = parseInt(input.attr("data-colisage"));
        var min = parseInt(input.attr("min"));
        var miniCommande = parseInt(input.attr('min'));
        if (input.val() > min) {
            if (miniCommande === 1) {
                inputValue--;
            } else {
                inputValue = inputValue - colisage;
            }
            input.val(inputValue);
        }
    }

    $('#plus').click(function (e) {
        e.preventDefault();
        addition();
    });

    $('#moins').click(function (e) {
        e.preventDefault();
        soustraction();
    });

});

现代浏览器内置了它。您需要调用
var-inputValue=parseInt(input.val())内部
addition
soutraction
加载页面时,代码读取值/属性。如果在页面加载后更新值,则不会获得新值。单击按钮时,您需要读取方法内部的值,以确保您具有最新的值。@epascarello我如何才能做到?读取方法内部的值和属性…这并不能回答实际问题,而且没有考虑OP所需的UI/UX。这可能会起作用,但我也必须为Internet Explorer 9制作。听到这个消息我很难过:(那么…你想让控制台打印字符串“toto”而不是数字?那么,你想打印数字“toto”而不是15或237或其他任何数字吗?(toto是数字?!?)@zer00ne console.log只是一个测试,所以请查看脚本何时执行。
$(function () {
    console.log("toto");

    function addition() {
        var input = $('#reassort_scan_quantite');
        var inputValue = parseInt(input.val());
        var colisage = parseInt(input.attr("data-colisage"));
        var min = parseInt(input.attr("min"));
        var miniCommande = parseInt(input.attr('min'));
        if (miniCommande === 1) {
            inputValue++;
        } else {
            inputValue = inputValue + colisage;
        }
        input.val(inputValue);
    }

    function soustraction() {
        var input = $('#reassort_scan_quantite');
        var inputValue = parseInt(input.val());
        var colisage = parseInt(input.attr("data-colisage"));
        var min = parseInt(input.attr("min"));
        var miniCommande = parseInt(input.attr('min'));
        if (input.val() > min) {
            if (miniCommande === 1) {
                inputValue--;
            } else {
                inputValue = inputValue - colisage;
            }
            input.val(inputValue);
        }
    }

    $('#plus').click(function (e) {
        e.preventDefault();
        addition();
    });

    $('#moins').click(function (e) {
        e.preventDefault();
        soustraction();
    });

});