【问题标题】:Passing multi parameter to Td inline JavaScript function将多参数传递给 Td 内联 JavaScript 函数
【发布时间】:2021-11-05 18:41:04
【问题描述】:

将一个参数(report.id)传递给 removeUser 函数可以正常工作,但是当我想传递两个参数(report.id 和 report.name)时,我得到 Uncaught SyntaxError: Invalid or unexpected token。

我试过'(" +report.id +","+ report.name +")'

我试过'(" +report.id report.name +")'

但没有任何效果,我在这里做错了什么

            $.ajax({
                url: "xxx",
                type: "GET",
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                success: function (result) {
                    var html = '';
                    $.each(result, function (key, report) {
                        html += '<tr>';
                        html += '<td>' + report.id + '</td>';
                        html += '<td>' + report.name + '</td>';
                        html += "<td><a onClick='removeUser(" +report.id + report.name +")'" + "'> Remove </a></td>";
                        html += '</tr>';
                    });
                    $('#users').html(html);
                },


        function removeUser(id, name) {
            alert("ID: "+ id + "Name: "+ name)
        }

【问题讨论】:

    标签: javascript html jquery ajax


    【解决方案1】:

    参数之间需要逗号,并且只需要在report.name 周围加上引号。

    使用模板文字而不是串联来编写它要容易得多。

    html += `<td><a href="#" onClick='removeUser(${report.id}, "${report.name}")'> Remove </a></td>`;
    

    此外,由于您使用a 元素执行此操作,因此您应该设置它的href,这样它就不会在运行onclick 函数后尝试链接到另一个页面。

    【讨论】:

    • 谢谢,工作完美
    猜你喜欢
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 2011-10-02
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多