构成表行的js函数中的错误

时间:2011-06-13 13:58:39

标签: javascript dynamic html-table row

我正在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子句会按预期返回一个新行。

这必须是一个简单的句法问题,但我看不出我做错了什么。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

您错过了+

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

第二个错误可能只是第一个错误的结果。