IAMTHESTIG IAMTHESTIG - 1 month ago 6
HTML Question

Auto increment data inside the HTML Table with Javascript or jQuery

I am a new to javascript. I have a problem in HTML table. (This is only a reference because the whole table will have a range of 100,000 to 2,000,000.)

This is a list and it is kinda large and to create this manually will take very long plus if I input a single "range" wrong I'll have to edit and re-arrange then check if the "range" is correct again. I am hoping that this can be done in javascript. Anyone can help me to make the "range" to a variable like "r-1 and r-2" and a function can fill the variable increments to 5,000 or 10,000 automatically starting from 100,000 up to 2,000,000.

HTML Table

jsFiddle

<table align="center" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="range" width="15%">100,000 - 105,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">125,000 - 130,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">150,000 - 155,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">175,000 - 180,000</td><td class="value" width="10%">VALUE</td>
</tr>

<tr>
<td class="range" width="15%">105,000 - 110,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">130,000 - 135,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">155,000 - 160,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">180,000 - 185,000</td><td class="value" width="10%">VALUE</td>
</tr>

<tr>
<td class="range" width="15%">110,000 - 115,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">135,000 - 140,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">160,000 - 165,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">185,000 - 190,000</td><td class="value" width="10%">VALUE</td>
</tr>

<tr>
<td class="range" width="15%">115,000 - 120,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">140,000 - 145,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">165,000 - 170,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">190,000 - 195,000</td><td class="value" width="10%">VALUE</td>
</tr>

<tr>
<td class="range" width="15%">120,000 - 125,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">145,000 - 150,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">170,000 - 175,000</td><td class="value" width="10%">VALUE</td>

<td class="range" width="15%">195,000 - 200,000</td><td class="value" width="10%">VALUE</td>
</tr>
</table>‚Äč

Answer

This will build the table structure shown

 $(function(){ 
     /* start & end divided by 1000*/
    var start=100, end=2000, increment=25, rowCellCount=4;;
    var html=[];
    for(i=start; i<= end- (increment*rowCellCount)+increment ; i=i+5){
        html.push('<tr>');
        for( j=0; j< rowCellCount; j++){
            var valueStart= (i+j*increment), valueEnd=valueStart+5;

            var text= parseThousands(valueStart)+',000 ';
            text+= valueEnd <= end ? ' - ' + parseThousands(valueEnd)+',000' :'';        

            html.push( '<td class="range" width="15%">'+text+'</td><td class="value" width="10%">VALUE</td>');
         }
         html.push('</tr>');
    }

    $('table').html( html.join(''))

 });

    function parseThousands( val){
        var txt =val.toString();
        if( txt.length==4){       
             txt= txt.slice(0,1) +','+ txt.slice(1)       
        }
        return txt;
    }

DEMO: http://jsfiddle.net/Nck5B/20/