Не могу добавить строку в таблицу данных jQuery - PullRequest
0 голосов
/ 19 декабря 2018

Я пытаюсь добавить строки в таблицу данных jQuery после нажатия кнопки отправки в модальном всплывающем окне.Я преобразовываю данные из всплывающего окна в строку JSON и передаю их в функцию для заполнения таблицы данных, но продолжаю получать предупреждение о наличии данных о «запрошенном неизвестном параметре« Имя »».Я проверил, чтобы убедиться, что количество столбцов и точек данных совпадают, поскольку, как представляется, это является обычной причиной этой ошибки.

Это то, что я пробовал:

$(document).on("click", "#btnNewEduSubmit", function (event) {debugger
    var isValid = validateEducationSubmit();

    if (isValid) {
        var name = $('#tbName').val();
        var location = $('#tbLocation').val();
        var degree = $('#ddlDegree').find("option:selected").text();
        var degreeID = $('#ddlDegree').val();
        var field = $('#tbField').val();
        var startDate = $('#tbEduStartDate').val();
        var enddate = $('#tbEduEndDate').val();
        var notes = $('#taNotes').val();

        var params = JSON.stringify("{ 'Name': '" + name + "', 'Location': '" + location + "', 'Degree': '" + degree + "', 'DegreeID':'" + degreeID + "', 'Field': '" + field + "', 'StartDate': '" + startDate + "', 'EndDate': '" + enddate + "', 'Notes': '" + notes + "' }");
        populateTable(params, tblEdu);
    }
});

function populateTable(parameters, table) {debugger
    var jResult = JSON.parse(parameters);
    table.row.add(jResult).draw(); <--- Error here, i can see 'Name' parameter
    table.columns([8]).visible(false);
    table.draw(false);
}

var tblEdu = $("#EducationTable").DataTable({
    jQueryUI: true,
    data: [],
    dom: 't',
    order: [[4, "asc"]],
    autoWidth: false,
    "oLanguage": {
        "sEmptyTable": "No Education Info Was Found."
    },
    "columns": [
        {
            "data": "Name"
        }, {
            "data": "Location"
        }, {
            "data": "Degree"
        }, {
            "data": "Field"
        }, {
            "data": "StartDate"
        }, {
            "data": "EndDate"
        }, {
            "data": "Notes"
        }, {
            "render": function (data, type, row) {
                // This doesn't work either when I click on "delete" link!
                var cellContent =
                    "<a href='javascript:' onclick=\"tblEdu.row().remove().draw(false) \">Delete</a>";
                return cellContent;
            }
        }, {
            "data": "DegreeID"
        }
    ],
    "columnDefs": [
        {
            "targets": [8],
            "visible": "false",
            "searchable": "false"
        }
    ]
});

Послевсплывающее окно с ошибкой закрыто, в таблицу данных добавлен ряд нулей.

1 Ответ

0 голосов
/ 19 декабря 2018

Полагаю, ошибка в вашем json stringfy, а затем в декодере.если вы конвертируете объекты javascript в json, то это должно быть похоже на { name: "John", age: 30, city: "New York" } -> no '' на ключах.Если вы используете это "{'Name': '" + name + "', ...}", это уже строка json, вы можете отправить ее непосредственно в DataTable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...