0

好的,所以我有一个模板,我用它来将几个用户打印到一个表中。

function PrintUsers(item) {
    $.template('userList', '<tr onClick="OnUserPressed(${Identifier})">\
    <td>${Firstname}</td>\
    <td>${Lastname}</td>\
    </tr>');

    $.tmpl('userList', item).appendTo("#UserTableContainer");
}

当我按下用户时,我希望将他/她的唯一标识符传递给我在模板中声明的名为 OnUserPressed 的函数。下面的代码只是一个测试,看看它是否真的将数据传递给函数。

    function OnUserPressed(Identifier) {
        alert(Identifier);
    }

我的问题是:当我按下表中的第一个值时,我得到“Uncaught SyntaxError: Unexpected token ILLEGAL”。当我按下表中的任何其他值时,我得到“未捕获的 ReferenceError:xxx 未定义”,其中 xxx 是它们的唯一标识符。所以它实际上检索了 ID,但我仍然得到一个错误。

有什么想法吗?

4

1 回答 1

0

您可能需要将标识符OnUserPressed作为字符串传递给函数。

尝试用单引号包裹${Identifier}模板变量:

<tr onClick="OnUserPressed('${Identifier}')">

编辑:回应关于单引号的评论。

在您的模板字符串中,您可以通过在它们前面加上反斜杠来转义单引号:

'<tr onClick="OnUserPressed(\'${Identifier}\')">'
于 2012-09-10T05:52:49.603 回答