0

I am trying to dynamically insert a row into a HTML table with jQuery. With the below code, the row appears and immediately disappears. What is the problem?

$(document).ready(function(){
    var html = '<tr><td id="employee">Joey Cavazos</td><td class="satBr">6:30</td><td class="satDin">off</td><td class="sunBr">9:00</td><td class="sunDin">off</td><td class="monBr">off</td><td class="monDin">off</td><td class="tueBr">off</td><td class="tueDin">4:00</td><td class="wedBr">8:00</td><td class="wedDin">off</td><td class="trBr">8:00</td><td class="trDin">off</td><td class="friBr">off</td><td class="friDin">4:00</td> </tr>'
    $('#nameSubmit').click(function(){
    $('#schedBody tr').last().after(html);
});
});
<form>
    <input type="submit" id="nameSubmit" value="submit">
</form>
<table id="schedBody">

</table>
2
  • you should add at least one row to your table for that script to work. Demo here: jsfiddle.net/3wndqxn7 Commented Oct 2, 2015 at 23:46
  • Or just replace from $('#schedBody tr').last().after(html); to $('#schedBody').append(html); Commented Oct 3, 2015 at 10:44

2 Answers 2

1
$(document).ready(function () {
    var html = '<tr>...</tr>';

    $('form').on('submit', function (e) {
        $('#schedBody').append(html);
        e.preventDefault();
    });
});
Sign up to request clarification or add additional context in comments.

Comments

0

There isn't tr in your html code(inside of table). So, you should put <tr></tr> tag into table

$(document).ready(function() {
  var html = '<tr><td id="employee">Joey Cavazos</td><td class="satBr">6:30</td><td class="satDin">off</td><td class="sunBr">9:00</td><td class="sunDin">off</td><td class="monBr">off</td><td class="monDin">off</td><td class="tueBr">off</td><td class="tueDin">4:00</td><td class="wedBr">8:00</td><td class="wedDin">off</td><td class="trBr">8:00</td><td class="trDin">off</td><td class="friBr">off</td><td class="friDin">4:00</td> </tr>';
  $('#nameSubmit').click(function() {
    $('#schedBody tr').last().after(html);
    return false;
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

<form>
   <input type="submit" id="nameSubmit" value="submit">
</form>
<table id="schedBody">
   <tr><td>...<td>...</tr>
</table>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.