用1增加id

时间:2013-01-31 21:29:11

标签: javascript

我想要以下内容:当用户点击按钮时,必须用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/

1 个答案:

答案 0 :(得分:1)

find('#id')操作无效,因为其中涉及重复的ID。只要文档中存在重复的ID,您就不能指望基于ID的选择器/过滤器能够正常工作。

使用例如find('input:text')相反,它会起作用。