我想要以下内容:当用户点击按钮时,必须用1增加id。现在我使用熟悉的函数为我的行创建唯一的id并正常工作。现在我对唯一的输入字段使用了相同的代码片段,但这不起作用。同样奇怪的是,以下代码在name属性上正确地工作。
clone.find('#dsmeta_image_caption').prop('name', 'dsmeta_image_caption[' + row.length + ']'); // we now need to set the new ID for the row - ID's cannot be duplicated. This again will use the row.length
所以我想要的是用1增加每个字段id。
代码JS:
function create_row_event(event) {
// Declared variable
var row = jQuery('tbody tr.row');
var clone = row.last().clone(true);
// Find the cloned fields and reset the values of it
clone.find('input[type=text], text, textarea, select, input.upload_image').val(''); // Reset the values
clone.find('.preview_image').attr('src', ''); // Reset the values
row.parent('tbody.ui-sortable').append(clone); // Append the new row to the body
clone.prop('id', 'repeatable-[' + row.length + ']'); // we now need to set the new ID for the row - ID's cannot be duplicated. This again will use the row.length
clone.find('input#dsmeta_image_caption').prop('id', '[' + row.length + ']');
}
您可以在此处看到代码:http://jsfiddle.net/Caspert/ttgMc/7/
答案 0 :(得分:1)
find('#id')
操作无效,因为其中涉及重复的ID。只要文档中存在重复的ID,您就不能指望基于ID的选择器/过滤器能够正常工作。
使用例如find('input:text')
相反,它会起作用。