Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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中的For循环。我需要运行脚本20次,每次递增_Javascript_Jquery - Fatal编程技术网

Javascript jquery中的For循环。我需要运行脚本20次,每次递增

Javascript 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

我不知道jquery中的循环。我希望以下代码作为从product1到product20的for循环运行,如果quantity1到quantity20没有值,则检查相同的代码,然后将其设置为1

$('#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");
    }
});
}