swig for loop node.js, express, mongodb

647 views Asked by At

I'm creating a for loop with swig engine. basically, if i have more than 4 tables under parent's td new tr will created and goes on... please help! :(

{% if style and style.length %}
    <div class="products">
        <table id="products">
            <tbody>
                <tr>
{% for style in a %}
{% if loop.index0 % 4 === 0 && loop.index0 !== 0 %}
    </tr><tr>
{% endif %}
                    <td>
                    <table border="1">
                        <tbody>
                        <tr>
                        <td><a href="{{a}}"><div style="width: 175px;height: 250px" id="products"><img id="images" src="{{style.img}}" ></div></a></td></tr>
                        <tr><td id="styleno">{{style}}</td></tr>
                        </tbody>
                    </table>
                    </td>
{% endfor %}
                </tr>
            </tbody>
        </table>
{% endif %}

here's my JSON:

{style:"1" , a:"http://", img:"http://", price: 1, desc: "ahdf"},
{style:"2" , a:"http://", img:"http://", price: 11, desc: "adsdf"},
{style:"3" , a:"http://", img:"http://", price: 13, desc: "asdaf"},
{style:"4" , a:"http://", img:"http://", price: 1, desc: "asddf"},
{style:"5" , a:"http://", img:"http://", price: 51, desc: "asssdf"},
{style:"6" , a:"http://", img:"http://", price: 71, desc: "asdf"},
{style:"7" , a:"http://", img:"http://", price: 12, desc: "asddf"}
1

There are 1 answers

0
Matt Pennig On BEST ANSWER

It looks like you are not closing the previous <tr> before creating a new one. Try this:

{% if loop.index0 % 4 === 0 && loop.index0 !== 0 %}
    </tr><tr>
{% endif %}