Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

missing ) after argument list? jQuery

Using the code below I can insert a new row to my table (#courseelements).

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append('<tr><td>Helloworld</td></tr>');
    });

However, I'd like to replace the Helloworld with a <select> element. So something like this:

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append('<tr><td>

        <select class='plan_id'>
            <option value='1'>Description</option>
            <option value='2'>Description</option>
            <option value='3'>Description</option>  
        </select>


      </td></tr>');
    });

But this gives me "missing ) after argument list" on the first apostrophe ' <select class='

Any ideas why?

like image 740
David Avatar asked Aug 17 '26 09:08

David


2 Answers

You forgot to escape quotes:

$("#addbutton").click(function() {
  $('#courseelements > tbody:last').append('<tr><td>

    <select class=\'plan_id\'>
        <option value=\'1\'>Description</option>
        <option value=\'2\'>Description</option>
        <option value=\'3\'>Description</option>  
    </select>


  </td></tr>');
});

As alternative you can wrap whole appended string in double quotes insetead of single quotes:

$("#addbutton").click(function() {
  $('#courseelements > tbody:last').append("<tr><td>

    <select class='plan_id'>
        <option value='1'>Description</option>
        <option value='2'>Description</option>
        <option value='3'>Description</option>  
    </select>


  </td></tr>");
});
like image 106
Zbigniew Avatar answered Aug 19 '26 05:08

Zbigniew


You need to use a different quote type for the quotes inside your HTML than you do for the quotes surrounding the HTML:

$("#addbutton").click(function() {
      $('#courseelements > tbody:last').append("<tr><td>

        <select class='plan_id'>
            <option value='1'>Description</option>
            <option value='2'>Description</option>
            <option value='3'>Description</option>  
        </select>


      </td></tr>");
    });
like image 38
Jacob Mattison Avatar answered Aug 19 '26 06:08

Jacob Mattison