簡體   English   中英

JavaScript代碼中的動態html按鈕

[英]dynamic html buttons in javascript code

所以我在這里使用javascript,jQuery和HTML。 基本上,我會創建動態數量的按鈕,並且每個按鈕都會使用唯一變量來調用函數。 變量保存在json變量中。 這是原樣的代碼:

    var box = "<font size=\"2\">The following assassins are in your current location:<br/><table width = \"100%\">";

    for (var i=0; i<info.length; i++) {
        if(userid != info[i].playerid){
            box += "<tr><td>"+info[i].name+" | rank: "+info[i].rank+"</td><td align=\"right\"><input id='attack' type='button' onclick='loadAttack(userid, info[i].playerid, info[i].name, info[i].rank, location)' value='Attack'/></td></tr>";
        }    
    }
    box += "</table></font>";

    $("#assassinBox").html(box);        

該框看起來不錯,並帶有適當的名稱,等級和按鈕。 問題是按下按鈕時, info未定義。 我認為這是因為按鈕沒有得到它自己的副本,並且在循環結束時超出了數組的范圍。 我在努力尋找解決方案,以某種方式將onclick函數傳遞給唯一變量?

謝謝!

box += "<tr><td>"+info[i].name+" | rank: "+info[i].rank+"</td><td align=\"right\"><input id='attack' type='button' onclick='loadAttack(userid, info["+i+"].playerid, info["+i+"].name, info["+i+"].rank, location)' value='Attack'/></td></tr>";

這應該工作。 盡管如果我是我,我會考慮重寫它,以免使用內聯事件處理程序,並且可能使用jQuery或本機DOMElement創建方法來構建HTML,而不是串聯HTML字符串。 從長遠來看,它使它更具可維護性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM