robel
robel

Reputation: 119

How to add for loop inside jquery

i have array of data in mysql database, i want to display it one by one using for loop after getting the results using ajax. the process goes like this.

this is the paragraph where each items going to be rendered

when i try using for loop it says syntax error, unexpected for loop taken, how can i fix this i.e. here i am using sample for loop in order to make things as easy as possible.

  $("#manager_paymentA").html(
    '<ul>'+
      for(let i=0; i < 5; i++) {
        '<li>Hello</li>'
      }
    
   + '</ ul>'  
  )

Upvotes: 0

Views: 205

Answers (5)

Enes KAYGUSUZ
Enes KAYGUSUZ

Reputation: 114

//data is your array list
data.forEach(item=>
$('#manager_paymentA ul').append('<li>'+item.Name+'</li>');
)

You can access list items with the item element

Upvotes: 0

tmsbrndz
tmsbrndz

Reputation: 1347

You can use jQuery append method.

Example :

 $("#manager_paymentA").append("<ul></ul>"); // Create the list

 for(let i=0; i < 5; i++) {
     $("#manager_paymentA > ul").append("<li>Hello</li>"); // Append elements
  }

Upvotes: 2

Johannes H.
Johannes H.

Reputation: 6167

Just for the sake of proving that creating a string with a loop in-line CAN (somewhat) be done in Javascript:

$("#manager_paymentA").html(
    '<ul>'+
        (() => {
            let s="";
            for(let i=0; i < 5; i++) {
                s += '<li>Hello</li>'
            }
            return s;
        })()
        + '</ ul>'  
  )

While this works, it's not really something I would recommend doing.

Upvotes: 0

Gert B.
Gert B.

Reputation: 2362

You can not put the for loop inside the html function and add it between strings. First build the string in a string variable, and than use that variable in the html function. example:

  var html = '<ul>';
    for(let i=0; i < 5; i++) {
            html += '<li>Hello</li>'
          }
    html += '</ ul>' ;
    $("#manager_paymentA").html();

Upvotes: 0

Antoine Feuillet
Antoine Feuillet

Reputation: 129

You cannot loop inside the html function. You should store the data into a variable:

var hello = ''
for(let i=0; i < 5; i++) {
  hello += '<li>Hello</li>'
}
$("#manager_paymentA").html('<ul>'+ hello + '</ ul>')

Upvotes: 2

Related Questions