我創建了一個表并使用 jQuery 填充它。現在我想添加一個文本,比如當我們點擊它時,一個函式會執行。我已經使用onclick并且作業正常,但我還需要向我的函式發送一些引數,我如何從以下位置向目標函式發送引數onclick:
var dataHtml = '';
$.each(data, function (index, user) {
dataHtml ="<code onclick=show_popup(1,user['donner'][0])> Donner details</code>";
});
$("#t-data").html(dataHtml);
function show_popup(show=0, donner){
$(document).ready(function(){
var showModel=show;
if(showModel==`1`){
$(`#modal-default-admin`).modal(`show`);
}
});
但它顯示“未定義用戶”錯誤。用戶已定義,我也可以訪問它。
uj5u.com熱心網友回復:
user實際上沒有定義。您面臨的問題是您將 HTML 用作字串,因此您提供onclick=show_popup(1,user['donner'][0])的是字串。當 jQuery 從此字串“生成 HTML”并單擊它時,它會呼叫andshow_popup并且此處未定義。它僅在回圈內部可用,而不是在回圈外部。1user['donner'][0]user$.each
最簡單的解決方法是直接傳遞值,而不是嘗試將其作為指標傳遞。
onclick=show_popup(1,\"" user['donner'][0] "\")>
像這樣,它將使用創建 HTML 時的值。user['donner'][0]
獎勵點:您應該用引號將 onclick 屬性括起來:
dataHtml = "<code onclick='show_popup(1,\"" user['donner'][0] "\")'> Donner details</code>";
只是為了確保例如值中的空格user['donner'][0]不會再次破壞它。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/457372.html
標籤:javascript jQuery 拉拉维尔 功能 点击
