使用javascript

时间:2018-02-10 07:54:16

标签: javascript php

我的按钮没有带我到下一页。当我检查错误时,它会给出以下错误:

  

未捕获的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;

}

});

1 个答案:

答案 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