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」が表示されます。テーブル内の他の値を押すと、「Uncaught ReferenceError: xxx is not defined」が表示されます。ここで、xxx は一意の識別子です。したがって、実際にはIDを取得しますが、それでもエラーが発生します。

何かご意見は?

4

1 に答える 1

0

おそらく、識別子をOnUserPressed文字列として関数に渡す必要があります。

${Identifier}テンプレート変数を一重引用符で囲んでみてください。

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

編集:一重引用符に関するコメントへの対応。

テンプレート文字列内では、単一引用符の前にバックスラッシュを付けることで、単一引用符をエスケープできます。

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