透過 jQuery 動態建立表格並顯示班級資料時,常見問題在於 JSON 格式錯誤,以及如何在按鈕點擊時正確取得對應的班級編號。
正確的 JSON 物件應使用雙引號,且鍵值對用冒號分隔,例如:
[{ "a": "1" }, { "b": "2" }, { "c": "2" }]
避免使用 new Function 解析字串,建議直接使用 JSON.parse() 或 jQuery 的 $.parseJSON()。
function setStr() {
var list = JSON.parse(strJson);
var s = "<table border='1px' class='course'><tr><td>班級編號</td><td>班級名稱</td><td>查看課程</td><td>添加課程</td></tr>";
for (var i = 0; i < list.length; i++) {
s += "<tr>";
for (var e in list[i]) {
s += "<td>" + list[i][e] + "</td>";
}
s += "<td><input type='button' value='查看課程' onclick=\"checkCourse('" + list[i]['a'] + "')\" /></td>";
s += "<td><input type='button' value='添加課程' onclick=\"EV_modeAlert('envon')\" /></td></tr>";
}
$("#yu").html(s);
}
將班級編號儲存在按鈕的 onclick 參數中,或使用 data-* 屬性,點擊時即可透過 jQuery 取得對應 ID 進行下一步查詢。