通过jquery跳过数组中的一些元素

时间:2016-05-22 10:48:45

标签: javascript jquery arrays

我正在使用jquery设计公交车座位布局。我也正确地完成了它。

我使用带有座位号码的阵列,并且我得到了我想要的座位布局。这是我的编码(这里' .bus-table'是一个表类):

    var row = Array(),i=0, j=0;

    row = [
            ['1','5','9','13','17','21','25','29','33','37','41','45','49'],
            ['2','6','10','14','18','22','26','30','34','38','42','46','50'],
            ['','','','','','','','','','','','','51'],
            ['3','7','11','15','19','23','27','31','35','39','43','47','52'],
            ['4','8','12','16','20','24','28','32','36','40','44','48','53']
        ];

    $.each(row, function(index, value) {
        $('.bus-table').append('<tr>');
            while(j<index+1) {
                for(i=0; i<value.length; i++) {
                    $('.bus-table tr:nth-child('+ (index+1) +')').append(
                        '<td seatno="'+ row[j][i] +'">' + row[j][i] + '<input type="checkbox"/></td>' );
                }
                j++;                                
            }
    }); 

这是我的结果:this is my seat layout output

现在问题是在第3行,你只能看到一些复选框。因为在那些地区公共汽车上没有座位。所以,我想删除那些复选框,这意味着在数组(第3行)中我留下了一些空白,根据那些我不想要复选框的空白。我不知道该怎么做。请帮我解决这个案子。

(我为我的英语道歉)

2 个答案:

答案 0 :(得分:0)

您可以使用continue跳过这些地点,如下所示:

 for(i=0; i<value.length; i++) {
                    if (row[j][i] == ""){
                      '<td seatno="'+ row[j][i] +'">' + row[j][i] + '</td>';
                       continue;//for blank don't make checkbox elements
                    }

                    $('.bus-table tr:nth-child('+ (index+1) +')').append(
                        '<td seatno="'+ row[j][i] +'">' + row[j][i] + '<input type="checkbox"/></td>' );
                }

答案 1 :(得分:0)

if循环中添加for语句:

for(i=0; i<value.length; i++) {
    if (row[j][i] !== '') {
        $('.bus-table tr:nth-child('+ (index+1) +')').append(
            '<td seatno="'+ row[j][i] +'">' + row[j][i] + '<input type="checkbox"/></td>' );        
    }
    else {
      $('.bus-table tr:nth-child('+ (index+1) +')').append('<td></td>');
    }
}

请注意else语句,否则会破坏您的表格布局