Javascript jQuery parseInt计数限制
如何将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. 数量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{ 风险
首先,添加属性来存储您的限制数量
<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
}