Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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 jQuery parseInt计数限制_Javascript_Jquery - Fatal编程技术网

Javascript jQuery parseInt计数限制

Javascript jQuery parseInt计数限制,javascript,jquery,Javascript,Jquery,如何将qtyplus的限制设置为仅在.count的值之前工作 我尝试将&¤tVal0{ $parent.findinput[name=+fieldName+].valcurrentVal-1; }否则{ $parent.findinput[name=+fieldName+].val0; } 更新计数 $parent.find.count, $parent.findinput[name=+fieldName+] ; }; }; 函数updateCount$count$input{ 风险

如何将qtyplus的限制设置为仅在.count的值之前工作

我尝试将&¤tVal<$parent.find.count放在qtyplus的click函数上,试图找到该项的.count的值,但没有成功

$function{ $.count.eachfunction{ $this.dataval,$this.text; }; $input[name=quantity].keyupfunction{ 更新计数 美元这个 .testest.items\uu项目 .find.count, 美元这个 ; }; $.qtyplus.ClickFunction{ e、 防止违约; $parent=$this.nestest.items\uu item; fieldName=$this.attrfield; var currentVal=parseInt $parent.findinput[name=+fieldName+].val ; 如果!isNaNcurrentVal{ $parent.findinput[name=+fieldName+].valcurrentVal+1; }否则{ $parent.findinput[name=+fieldName+].val1; } 更新计数 $parent.find.count, $parent.findinput[name=+fieldName+] ; }; $.qtyminus.clickFunction{ e、 防止违约; $parent=$this.nestest.items\uu item; fieldName=$this.attrfield; var currentVal=parseInt $parent.findinput[name=+fieldName+].val ; 如果!isNaNcurrentVal&¤tVal>0{ $parent.findinput[name=+fieldName+].valcurrentVal-1; }否则{ $parent.findinput[name=+fieldName+].val0; } 更新计数 $parent.find.count, $parent.findinput[name=+fieldName+] ; }; }; 函数updateCount$count$input{ 风险值成本=$count .testest.items\uu项目 .查找成本 文本 .以美元代替; var$total=$count.closest.items\uu item.find.total; $count.textparseInt$count.dataval-parseInt$input.val | | 0; $total.textcost*parseInt$input.val | | 0; $total.closest.total.prepend$; } $.qty.onkeydown keyup,函数E{ 如果 $this.val> 帕森特 美元这个 .testest.items\uu项目 .find.count dataval先生 && e、 keyCode!==46&&//keyCode用于删除 e、 keyCode!==8//keyCode用于退格 { e、 防止违约; $this.val 帕森特 美元这个 .testest.items\uu项目 .find.count dataval先生 ; } }; 3. 数量 5. 数量
首先,添加属性来存储您的限制数量

<div class="count" data-val="3">3</div>
以下是工作代码:


提示:您可以将$parent.findinput[name=+fieldName+]之类的内容捕获到一个变量中,并重复使用它,而不必一次又一次地粘贴大量代码。还要尽量避免创建诸如$parent之类的变量,JavaScript不是PHP,$虽然是允许的,但却是非标准的。每次都要努力用var定义变量。我该如何合并这个代码笔中的计算函数@KyleUnderhill我已经清理了你的代码一次,你应该尊重这一次,但不要给我另一个任务免费做。这不公平。但是我可以看到:你不知道如何调试,这就是阻止你的原因。如下所示:var operation=$update.val;,为什么?我只是想寻求更多的帮助。我把你的答案标全了。
$(".qty-button").click(function(e) {
    e.preventDefault();
    updateCount($(this));
});
function updateCount($button) {

    var $parent = $button.closest(".items__item");
    var fieldName = $button.attr("field");
    var $count = $parent.find(".count");
    var $input = $parent.find("input[name=" + fieldName + "]");
    var operation = $button.val();
    var limit = parseInt($count.data("val"));
    var current = (parseInt($input.val()) || 0);

    if (current > limit) {
        $input.val(limit);
        $count.text('0');
        return;
    }

    if (current < 0) {
        $input.val('0');
        $count.text(limit);
        return;
    }

    if (operation == '+') {
        if (current + 1 <= limit && limit - current - 1 >= 0) {
            $input.val(current + 1);
            $count.text(limit - current - 1);
        }
    } else if (operation == '-') {
        if (current - 1 >= 0) {
            $input.val(current - 1);
            $count.text(limit - current + 1);
        }
    }
    ...continue other logic, like: calculate total
}