#javascript #dynamic #html-table #row
#javascript #динамический #html-таблица #строка
Вопрос:
Я создаю строку таблицы в $.ajax()
вызове jQuery, который создает строку при успешном выполнении 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 = ...
«, а вторая ошибка «отсутствует; перед инструкцией» находится через две строки после этого. Обратите внимание, что вскоре после этого я также закомментировал весь этот раздел в одной строке (не разделенный конкатами строк). Это показывает только одну ошибку, ошибку об отсутствии правильного paren.
Если я закомментирую все в предложении if и передам addDocs как false, предложение else вернет новую строку, как и ожидалось.
Должно быть, это просто синтаксическая проблема js, но я не вижу, что я делаю неправильно.
Любая помощь будет высоко оценена!
Ответ №1:
Здесь вам не хватает
:
' docID '-' newClassID '" /></td>'
^
Вторая ошибка, вероятно, является просто результатом первой ошибки.
Комментарии:
1. Кажется, что именно простые ошибки сбивают нас с толку больше всего! Спасибо, Гуффа. Добавил , и все заработало отлично!