我的按钮没有带我到下一页。当我检查错误时,它会给出以下错误:
未捕获的TypeError:无法读取未定义的属性“categoryID” 第53行
我无法在这个平台上找到任何与我有同样问题的人因此寻求帮助。
我的PHP没有错误。
$(document).ready(function () {
getcategories();
function getcategories() {
var url = serverURL() + "/getcategories.php";
var JSONObject = {
"categoryID": localStorage.getItem("categoryID")
};
$.ajax({
url: url,
type: 'GET',
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (arr) {
_getCategoryResult(arr);
},
error: function () {
validationMsg();
}
});
}
function _getCategoryResult(arr) {
var t
if ($.fn.dataTable.isDataTable('#categoryresult')) {
t = $('#categoryresult').DataTable();
}
else {
t = $('#categoryresult').DataTable({
"searching": false,
"lengthChange": false
});
}
t.clear();
//loop for the number of results found by getcategories.php
for (var i = 0; i < arr.length; i++)
//add a new row
t.row.add([
arr[i].categoryID,
arr[i].categoryname,
"<a href='#' class='ui-btn' id='btn" + arr[i].categoryID + "'>Category</a>" //add a new [Category] button
]).draw(false);
$("#btn" + arr[i].categoryID).bind("click", { id: arr[i].categoryID }, function (event) { //error
var data = event.data;
showcategory(data.id);
});
}
$("#categoryresult").show();
function showcategory(categoryID) {
//alert(categoryID);
window.location = "showlist.html?categoryID=" + categoryID;
}
});
答案 0 :(得分:1)
也许你想试试这个
for (var i = 0; i < arr.length; i++){
//add a new row
t.row.add([
arr[i].categoryID,
arr[i].categoryname,
"<a href='#' class='ui-btn' id='btn" + arr[i].categoryID + "'>Category</a>" //add a new [Category] button
]).draw(false);
$("#btn" + arr[i].categoryID).bind("click", { id: arr[i].categoryID }, function (event) { //error
var data = event.data;
showcategory(data.id);
})};
你忘了把封闭放在你的for循环中,因此,arr [i] = undefined