jQuery для клонирования таблицы с новым идентификатором, как написать код ниже
У меня проблемы с некоторыми вещами jQuery, пожалуйста, помогите мне. Ниже моя структура формы:
<form name="imageUploadForm" id="imageUploadForm" action="" method="POST" enctype="multipart/form-data" >
<table border="0" width="80%" cellpadding="2" cellspacing="3" id="mainTable">
<tbody>
<tr>
<td>
<table border="0" id="imageTable" class="imageTable">
<tr>
<td><label for="image_title"><sup>*</sup>Image Title:</label></td>
<td><input type="text" name="image_title[]" id="image_title[]"></td>
</tr>
<tr>
<td><sup>*</sup>Image:</td>
<td><input type="file" name="main_image[]" id="main_image[]" ></td>
</tr>
</table>
</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2"><input type="button" id="addRow" value="Add More" /></td>
</tr>
</tfoot>
</table>
</form>
Я хочу вот что: когда я нажимаю кнопку «Добавить еще», новая таблица (то есть клон imagetable) добавляется к mainTable, вот мой код jQuery:
jQuery(document).ready(function() {
var count=1;
jQuery('#addRow').click( function () {
var Clonedtable = jQuery("#imageTable").clone(true);
Clonedtable.appendTo('table#mainTable');
})
});
Мне нужно создать разные идентификаторы для таблицы, и два входаДопустимо ли сделать массив идентификаторов?Я хочу добавить клонированную таблицу, добавить последнюю таблицу tbody, а не только после основного ImageTableОба входа должны быть пустыми.Пожалуйста, предложите мне оптимизированный метод. Благодарю.
ОБНОВИТЬ: я изменил структуру таблицы (раньше я ошибался), я хочу изменитьfor
значение атрибута метки в соответствии со следующим входным идентификатором и удалить<sup>*</sup>
тег. Я пишу ниже код, все работает нормально, но мне нужно написать коллективно, я не понимаю, как написать это коллективно, пожалуйста, предложите мне
jQuery('#addRow').live('click', function () {
var quantity = jQuery('table[class^=imageTable]').length;
var clonedRow = jQuery('#mainTable > tbody > tr:first').clone(true);
var textID = clonedRow.find(':text').attr('id');
clonedRow.find('label').attr('for', function () {
return textID + quantity;
});
clonedRow.find('th').text('Image '+(++quantity) + ' :');
clonedRow.find('sup').remove();
clonedRow.attr('id', function () {
return this.id + quantity;
}).find(':text,:file').attr('id', function () {
return this.id + quantity;
}).val('').end().appendTo('#mainTable');
});