每tr 2 td填充Json数据

时间:2018-09-20 06:23:24

标签: javascript c# jquery

这是我的代码,用于从web方法中检索数据。函数会获得10个随机抽奖编号,因此必须填充在每行两个td的表中。我使用了奇偶逻辑,但我无法解决。我希望有人可以帮助我。

 function GetTopTenStubs() {
            $.ajax({
                type: "POST",
                url: "ConsolationRaffle.aspx/GetTopTenStubs",
                data: '{}',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                async: false,
                success: function (response) {
                    var parsed = $.parseJSON(response.d);
                    var cam;

                    var cnt = 1;
                    $.each(parsed, function (i, jsondata) {

                        //console.log(cnt + ' - ' + jsondata.Stubs);


                        if (parseInt(cnt) % 2 === 0) {
                            console.log(cnt + ' - ' + jsondata.Stubs + ' Even');

                             cam += '<tr class="trstyle"><td>' + jsondata.Stubs + '</td>';
                        }


                        if (parseInt(cnt) % 2 == 1) {
                            console.log(cnt + ' - ' + jsondata.Stubs + ' Odd');
                             cam += '<td>' + jsondata.Stubs + '</td>';
                            cam += '</tr>';
                        }
                        cnt++;
                         $('#fivecamera').append(cam);
                    });

                }
            });

此过程的结果必须如下所示。

table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th, td {
    padding: 5px;
    text-align: center;    
}
<table style="width:100%">
  <tr >
   <th colspan="2">Consolation Winners</th>
  </tr>
  <tr>
    <td>555</td>
    <td>551</td>
  </tr>
   <tr>
    <td>109</td>
    <td>854</td>
  </tr>
   <tr>
    <td>898</td>
    <td>574</td>
  </tr>
   <tr>
    <td>001</td>
    <td>155</td>
  </tr>
   <tr>
    <td>123</td>
    <td>006</td>
  </tr>
</table>

2 个答案:

答案 0 :(得分:0)

success: function (response) {
                    var parsed = $.parseJSON(response.d);
                    var cam;

                    var cnt = 0;
                     $.each(parsed, function (i, jsondata) {

                       if(cnt == 0){
                            cam += '<tr class="trstyle">';
                        } 
                       if(cnt >=0 && cnt <2) {
                            cam += '<td>' + jsondata.Stubs + '</td>';
                        } 
                       if(cnt == 2) {
                            cam += '</tr>'; 
                            cnt = 0;  
                        }else{
                         cnt++;
                        }


                    });
                    $('#fivecamera').append(cam); 

                }

您可以从0开始,将其递增至2,然后再次使其为0。尝试使用上面的代码。我没有测试过,但是应该可以给您一个清晰的主意。让我知道它是否有效。 谢谢。

答案 1 :(得分:0)

您从1开始。以下条件将得到满足,并将代替

parseInt(cnt) % 2 == 1

从var cnt = 0开始;