Javascript jquery中的For循环。我需要运行脚本20次,每次递增
我不知道jquery中的循环。我希望以下代码作为从product1到product20的for循环运行,如果quantity1到quantity20没有值,则检查相同的代码,然后将其设置为1Javascript jquery中的For循环。我需要运行脚本20次,每次递增,javascript,jquery,Javascript,Jquery,我不知道jquery中的循环。我希望以下代码作为从product1到product20的for循环运行,如果quantity1到quantity20没有值,则检查相同的代码,然后将其设置为1 $('#product1').change(function() { if( $('#quantity1').val().length == 0 ){ $('#quantity1').val("1"); } }); $('#product2').change(functi
$('#product1').change(function() {
if( $('#quantity1').val().length == 0 ){
$('#quantity1').val("1");
}
});
$('#product2').change(function() {
if( $('#quantity2').val().length == 0 ){
$('#quantity2').val("1");
}
});
提前感谢您。阅读了解jquery中循环的更多信息
使用“从选择器开始”选择控件。详情请阅读
您可以使用jQuery函数,如下所示:
$('input[id^="product"]').each(function(index) {
$(this).change(function() {
if( $(this).val().length == 0 ){
$(this).val("1");
}
});
}
您可以尝试为id以product开头的所有输入添加事件处理程序 .我认为这里的each方法是最好的解决方案,因为您无论如何都需要一个匿名函数来创建一个closuse,在事件处理程序稍后运行时保存每个迭代的值,每个方法都需要自己版本的循环计数器:
$.each(new Array(20), function(i){
$('#product' + (i+1)).change(function() {
var q = $('#quantity' + (i+1));
if (q.val().length == 0 ){
q.val("1");
}
});
});
只需使用普通Java脚本进行循环
for (i=0; i<5; i++)
{
$('#product'+i).change(function() {
if( $('#quantity'+i).val().length == 0 ){
$('#quantity'+i).val("1");
}
});
}
在所有20个元素上使用相同的类,并将其用作选择器,那么就不需要使用循环。您尝试过了吗。每个。。。?循环,例如fori=0;i@WillPalmer$。每个都使用for循环。您的产品是什么,文本框还是什么?@WillPalmer for循环超过$。每个。。。。听起来是我使用它们的好理由!这将改变product字段的值,而不是相应的quantity字段。是的,后来想了想,发现@Sheikh Heera已经发布了一个正确的版本。如此左侧。这将更改product字段的值,而不是相应的quantity字段。substrlen-1给出id的最后一个字符,因此从product20中可以得到0。您可以使用substr7来获取整数。这将捕获闭包中的循环计数器,因此当更改事件发生时,它将始终为5。当您编辑任何产品时,它将尝试检查quantity5的值,该值不存在。
for (i=0; i<5; i++)
{
$('#product'+i).change(function() {
if( $('#quantity'+i).val().length == 0 ){
$('#quantity'+i).val("1");
}
});
}