使用.append JQuery中的双引号和单引号将变量作为参数传递给onclick函数

时间:2014-11-23 09:23:06

标签: javascript jquery

我正在尝试使用JQuery追加将变量作为参数传递给onClick函数。由于行数不确定,我使用$ .each在每行末尾添加一个按钮,点击后将编辑该行。 因此,为了获得该行,我将该行的id传递给按钮中的Onclick函数,由于函数不起作用,我对引号感到困惑。

这是代码

$.each(result, function (key, item) {
                $("#table1").append("<tr><td>" + item.id + "</td><td>" + item.name + "</td> <td>" + item.type + "</td> <td>" + item.weight + "</td> <td>" + item.birthday + "</td> <td>" + item.hasHorns + "</td><td><input class='editR' id='" + item.id + "' type='button' value='EDIT' onclick='editRow('" + item.id + "')'/> </td> </tr>");
            });

功能

function editRow(eid) {

    $("#table1").empty();
    //var eid = $(this).attr("id");
    alert(this);
    $.getJSON(uri + "GetByID/" + eid, function (data) {
        $("#headerType").replaceWith("<h2>Edit Animal</h2>");
        $("#table1").append("<tr><td><h4>ID</h4></td> <td><h4>Name</h4></td> <td><h4>Type</h4></td> <td><h4>Weight</h4></td> <td><h4>Birthday</h4></td> <td><h4>Has Horns</h4></td></tr>");
        $("#table1").append("<tr><td>" + data.id + "</td><td>" + data.name + "</td> <td>" + data.type + "</td> <td>" + data.weight + "</td> <td>" + data.birthday + "</td> <td>" + data.hasHorns + "</td> </tr>");
    });
}

结果在浏览器检查元素上(抱歉,我不能发布图片,因为它需要10个impoession)

<input class="editR" id="1" type="button" value="EDIT" onclick="editRow(" 1')'="">

一切正常但点击

没有任何反应

谢谢

1 个答案:

答案 0 :(得分:2)

尝试更改为

  onclick=\"editRow('" + item.id + "')\"/>