JQuery append是关闭表单标签

时间:2014-10-31 01:12:18

标签: javascript jquery html forms

我无法想象我的生活。 Jquery一直关闭我创建的表单(而不是<tr><form> ... <td></td> ... </form></tr>它创建<tr><form></form>...我已经看了很多关于这个的问题,每个建议都是使用一个中间字符串,我就是。希望有人可以接受我失踪的东西:)

var my_table = $("#output_table").find("tbody");    
// Loop over JSON data and create table rows
$.each(json.data, function(index, field) {
    var html_string = "<tr><form action='addtoDB.php' method='POST'>" +
        "<input type='hidden' name='instructor' value=" + field.instructor + ">" +
        "<input type='hidden' name='section' value=" + field.section + ">" +
        "<input type='hidden' name='course_id' value=" + field.course_id + ">" +
        "<input type='hidden' name='course_name' value=" + field.course_name + ">" +
        "<td class='row_head'>" + field.instructor + "</td>" +
        "<td>" + field.section + "</td>" + 
        "<td>" + field.start_time + " - " + field.end_time + "</td>" +
        "<td>" + field.weekdays + "</td>" +
        "<td>" + field.total + "/" + field.capacity + "</td>";
    if (field.open) {
        html_string += "<td><input type='submit' value='open to enroll' class='disabled' disabled></td>";
    } else {
        html_string += "<td><input type='submit' value='Notify me' class='enabled'></td>";
    }
    html_string += "</form></tr>";
    my_table.find('tr:last').after(html_string);
});

我尝试完全删除字符串中的<form><tr>,并在最后添加: my_table.append("<tr><form>" + html_string + "</form></tr>");但我得到同样的效果。太困惑了!

1 个答案:

答案 0 :(得分:2)

这实际上不是jquery问题,而是浏览器问题。浏览器不允许您这样做,因为允许tr个孩子的唯一元素是thtd

来源:w3c documentation