Ошибки в функции js, которая строит строку таблицы - PullRequest
0 голосов
/ 13 июня 2011

Я строю строку таблицы в вызове jQuery $.ajax(), который строит строку при успешном выполнении сценария PHP.

Я вызываю функцию, которая строит новую строку таблицы на основе результатов сценария. Вот функция:

function addNewRow(addDocs, newClassID, classNumberAdd, classNameAdd) {

    var newRow = '';

    newRow += $('#classesTable tbody:last').after('<tbody>' + 
        '<tr bgcolor="#EFE5D3" style="font-weight: bold;">' +
            '<td width="35px"><a class="classEditLink" name="' + newClassID + '" href="#">Edit</a></td>' +
            '<td width="20px"><input type="checkbox" class="chkSelectToDelete" name="deleteClasses[]" value="' + newClassID + '" /></td>' +
            '<td>' + classNumberAdd + '</td>' +
            '<td>' + classNameAdd + '</td>' +
        '</tr>');

    if (addDocs == 'true') {

        $('#docsTable input[type="checkbox"]:checked').each(function() {
            var $row = $(this).parents('tr');
            var docID = $row.find('td:eq(0) input').val();
            var docName = $row.find('td:eq(1)').html();
            var docDescription = $row.find('td:eq(2)').text();

            newRow += $('#classesTable tbody:last').append('<tr class="classDocsRow">' +
            '<td></td>' +
            '<td align="right"><input type="checkbox" class="chkRemoveDocs" name="removeDocs[]" value="' + docID + '-' newClassID + '" /></td>' +
            '<td width="245px">' + docName + '</td>' +
            '<td width="600px">' + docDescription + '</td>' +
        '</tr>');
        });

//$('#classesTable tbody:last').append('<tr class="classDocsRow"><td></td><td align="right"><input type="checkbox" class="chkRemoveDocs" name="removeDocs[]" value="' + docID + '-' newClassID + '" /></td><td width="245px">' + docName + '</td><td width="600px">' + docDescription + '</td></tr>');

    } else {
        newRow += $('#classesTable tbody:last').append('<tr class="classDocsRow">' +
            '<td colspan="4">' +
                '<strong>No documents are currently associated with this class.</strong>' +
            '</td>' +
        '</tr>');
    }

    return newRow;
}

Aptana Eclipse IDE сообщает об ошибке в двух местах в разделе "if (addDocs == 'true')": первая ошибка, " отсутствует) после списка аргументов ", находится во второй строке после "newRow += ... "и вторая ошибка" отсутствует; перед оператором"через две строки. Обратите внимание, что у меня также весь этот раздел в одной строке (не разбитый на строки) закомментирован вскоре после этого. Это показывает только одну ошибку, ошибку о пропущенном правом парене.

Если я закомментирую все в предложении if и передам addDocs как false, предложение else вернет новую строку, как и ожидалось.

Должно быть, это просто синтаксическая проблема js, но я не вижу, что я делаю неправильно.

Любая помощь будет принята с благодарностью!

1 Ответ

1 голос
/ 13 июня 2011

Вам не хватает + здесь:

' + docID + '-' + newClassID + '" /></td>' +
                ^

Вторая ошибка, вероятно, является результатом первой ошибки.

...