通过JS在表格中添加新行,如何包含变量?

时间:2018-08-28 06:59:36

标签: javascript php html ajax

我知道我犯了一个愚蠢的错误……但是一个小时前,我开始使用ajax。 我在JS中的变量有问题。

当我写+'id_komputery'+时,js返回错误:“参数列表后未捕获的SyntaxError:缺少”。与id ='id_komputery'相同

    $.ajax({
    url:'add.php',
    method:'POST',
    data:{
        producent_new:'producent_new',
        nazwa_new:'nazwa_new'
    },
    success:function()
    {
        var id_komputery = '<?= $id_komputery ?>';
        console.log(id_komputery);
        $("#main_table > tbody").append('<tr id='id_komputery' ><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value='id_komputery' /></td><td width="50" align="center">+'id_komputery'+</td></tr>');
    }
});

5 个答案:

答案 0 :(得分:3)

我已更正您的代码。将您的代码替换为以下代码:

$.ajax({
   url:'add.php',
   method:'POST',
   data:{
      producent_new:'producent_new',
      nazwa_new:'nazwa_new'
   },
   success:function()
   {
      var id_komputery = '<?= $id_komputery ?>';
      console.log(id_komputery);
      $("#main_table > tbody").append('<tr id="'+ id_komputery +'"><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value="'+ id_komputery +'" /></td><td width="50" align="center">'+ id_komputery +'</td></tr>');
   }
});

答案 1 :(得分:1)

'id_komputery'列中,您错了。它错过了concat运算符 您必须使用以下方法对此进行更改:

'<tr id="' + id_komputery + '" >...'
'...<input type="checkbox" name="komp_id[]" class="delete_komputery" value="' + id_komputery + '" />'

或者在es2015 +中,您可以使用插值表达式:

$("#main_table > tbody").append(`<tr id="${id_komputery}"><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value="${id_komputery}" /></td><td width="50" align="center">${id_komputery}</td></tr>`);

答案 2 :(得分:1)

您忘记在+'id_komputery'+ '</td></tr>')(您有+'id_komputery'+ </td></tr>'))附近放置“'”,而javascript认为它是可变变量,并且是无效变量,因此您不应在此处+'id_komputery'+引用可变变量简单的字符串文字,您只需编写-id_komputery

$("#main_table > tbody").append('<tr id='id_komputery' ><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value='id_komputery' /></td><td width="50" align="center">+'id_komputery'+'</td></tr>')

答案 3 :(得分:1)

替换此行:

$("#main_table > tbody").append('<tr id='id_komputery' ><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value='id_komputery' /></td><td width="50" align="center">+'id_komputery'+</td></tr>');

与此:

$("#main_table > tbody").append('<tr id="' + id_komputery + '"><td width="50" align="center"><input type="checkbox" name="komp_id[]" class="delete_komputery" value='id_komputery' /></td><td width="50" align="center">'+id_komputery+'</td></tr>');

答案 4 :(得分:1)

您忘记了追加行周围的几个引号以及一个小的更改。

$("#main_table > tbody")
    .append('<tr id='id_komputery' >
        <td width="50" align="center">
            <input type="checkbox" 
                   name="komp_id[]" 
                   class="delete_komputery" 
                   value='id_komputery' />
        </td>
        <td width="50" align="center">+'id_komputery'+ 
        </td></tr>'
   );

以上是您的语法格式。

下面是固定引号的语法。

$("#main_table > tbody")
    .append('<tr id="id_komputery">
        <td width="50" align="center">
            <input type="checkbox" 
                   name="komp_id[]" 
                   class="delete_komputery" 
                   value="id_komputery"/>
        </td>
        <td width="50" align="center">'
            +id_komputery+
        '</td></tr>'
   );