3

#courseelements使用下面的代码,我可以在我的表 ( )中插入一个新行。

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

但是,我想Helloworld用一个<select>元素替换 。所以是这样的:

$("#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>');
    });

但这让我在第一个撇号 ' 上的参数列表后“缺少 )<select class='

任何想法为什么?

4

6 回答 6

4

你忘了转义引号:

$("#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>');
});

作为替代方案,您可以将整个附加字符串包装在双引号中而不是单引号中:

$("#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>");
});
于 2012-06-20T16:40:26.847 回答
1
var select=$("<select class='plan_id'></select>")
    .append("<option value='1'>Description</option>")
    .append("<option value='2'>Description</option>")
    .append("<option value='3'>Description</option>");

 $('#courseelements > tbody')
.append($("<tr><tr>"))
.append($("<td></td>")
.append(select));

演示。

于 2012-06-20T16:39:44.303 回答
1

您需要为 HTML 中的引号使用不同的引号类型,而不是为 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>");
    });
于 2012-06-20T16:40:34.247 回答
1

您必须使用不同的引号。

select class="plan_id">

此处为 double,因为整个字符串由 single 分隔。

于 2012-06-20T16:41:10.757 回答
1

用字符串内的双引号更改单引号-

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

\或者用like来逃避它们——

<select class=\'plan_id\'>......
于 2012-06-20T16:43:15.027 回答
0

如果你想通过 PHP echo 调用 $('').append,像这样:

$info= "<div style=\'font-size:9px;\'>
    <img src=\'./img/filtro.png\'>Some tips
</div>";
echo "<script type='text/javascript'>
    $('#divTips').append('$info'); 
</script>";

确保在之前替换所有断线,如下所示:

$info= preg_replace( '/\s+/', ' ', $info);
于 2012-07-12T14:59:01.147 回答