1

这是我动态插入表行的代码。它不适用于ie7。但使用 ie8、ie9、Chrome、Firefox。

for (var lvl=0;lvl<13;lvl++) {
  $("#check-form tbody").append( "<tr />");                 
  for (var fchr=6;fchr<=36;fchr+=3) {
    if (fchr==6)
      $("#check-form tbody").append( "<th scope=\"row\">"+hpa[lvl]+" MB</th>");                 
    $("#check-form tbody").append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
  }
}

我做错了什么?

4

2 回答 2

0

可能不是原因,但您有一些杂散空间。先试试这个

for(var lvl=0;lvl<13;lvl++)
{
    $("#check-form tbody").append("<tr />");                   
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
        $("#check-form tbody").append("<th scope=\"row\">"+hpa[lvl]+" MB</th>");
        $("#check-form tbody").append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
    }
}

如果这不起作用,您可能需要这样做(用单引号替换双引号)

for(var lvl=0;lvl<13;lvl++)
{
    $('#check-form tbody').append('<tr />');
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
        $('#check-form tbody').append('<th scope="row">' + hpa[lvl]+ ' MB</th>');
        $('#check-form tbody').append('<td><input type="checkbox" value=' + fchr.slice(-2) + '_' + hpa[lvl] + ' id=' + fchr.slice(-2) + '_' + hpa[lvl] + ' class="chkChart"></input></td>');
    }
}
于 2013-09-15T02:25:21.693 回答
0

现在工作正常。这里的代码是

for(var lvl=0;lvl<13;lvl++)
{
    $("#check-form tbody ").append( "<tr id="+lvl+"/>");                    
    for(var fchr=6;fchr<=36;fchr+=3)
    {
        if(fchr==6)
         $("#check-form tbody #"+lvl).append( "<th>"+hpa[lvl]+" MB</th>");                  
        $("#check-form tbody #"+lvl).append("<td><input type=\"checkbox\" value="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" id="+('0'+fchr).slice(-2)+"_"+hpa[lvl]+" class=\"chkChart\"></input></td>");
    }
}

这种类型的运行示例在这里http://jsfiddle.net/WHscf/1/

于 2013-09-16T00:37:24.860 回答