0

由于某些逻辑,我正在我的 Javascript 上创建我的 html 标签,但没有显示预期的结果。我正在尝试获取所有选中的复选框并显示它们的名称。我可以提取名称和选中的复选框。但它没有正确渲染。这是我的代码:

var amenities = <%= @amenities_json.html_safe %>;
    var appendAmenitiesAndFeatures= "<p class='p-tab-title3'>Amenities</p><table class='table-amenities-and-features'><tbody><tr>";

    for(var i=0; i<amenitiesChecked.length;i++)
    {
        $.each(amenities, function(index, amenity){
            if(amenity.id == amenitiesChecked[i])
            {

                appendAmenitiesAndFeatures += "<td><p class='p-tab-subtitle2><span>&nbsp;</span>" + amenity.name + "</p></td>";
            }
        });
    }
    appendAmenitiesAndFeatures += "</tr></tbody></table>";
    $("#dv-amenities-and-features").html(appendAmenitiesAndFeatures);

当我选中 3 个复选框并提醒他们的名字时,我可以看到 html 标签字符串正在正确构建。我可以在警报中看到 3 组 td。但是当页面被渲染时。它只显示一个。我真的不知道为什么。我正在附加到一个 div 并使用 .html 构建我的表。有任何想法吗?

4

1 回答 1

0

嗯....你错过了一个'

用这个替换你的行:

appendAmenitiesAndFeatures += "<td><p class='p-tab-subtitle2'><span>&nbsp;</span>" + amenity.name + "</p></td>";
于 2013-08-15T14:03:09.240 回答