sojim2
sojim2

Reputation: 1307

JQuery how to make a loop statement for classes that will be incremented

I currently have these error checking JQuery functions at the moment. The document can have 1-100 OrderLines, so I would like to have cleaner code and utilize a loop statement to generate these error checking functions.

What's the recommended way to approach this problem?

    if ($('#cb_OrderLine1_S').val() == 'U') {
        $('.OrderLine1').parent(".dxflGroupBox_Office2010Silver").css('background-color', '#F2A6A6');
        errMessage += "Order Line 1\n";
    }

    if ($('#cb_OrderLine2_S').val() == 'U') {
        $('.OrderLine2').parent(".dxflGroupBox_Office2010Silver").css('background-color', '#F2A6A6');
        errMessage += "Order Line 2\n";
    }

    if ($('#cb_OrderLine3_S').val() == 'U') {
        $('.OrderLine3').parent(".dxflGroupBox_Office2010Silver").css('background-color', '#F2A6A6');
        errMessage += "Order Line 3\n";
    }

Upvotes: 2

Views: 35

Answers (1)

Sahil
Sahil

Reputation: 3358

You can have a for loop wherein you can have the number as a variable.

//defining start and end points for the loop
var startingPoint = 1;
var endingPoint = 50; 
for(var i=startingPoint;i<=endingPoint;i++){
      if ($('#cb_OrderLine'+i+'_S').val() == 'U') {
            $('.OrderLine'+i).parent(".dxflGroupBox_Office2010Silver").css('background-color', '#F2A6A6');
            errMessage += "Order Line "+i+"\n";
        }
    }

Upvotes: 3

Related Questions