我想克隆一个表单,并且不会对该表单的修改影响原始表单。如何为表单的每个实例提供唯一的ID,使元素不会重复?
$(document).ready(function() {
// shows / hides results based on selection
$(".categories-select").live("change", function() {
if ($(this).val() == 'dinner') {
$('.dinner').removeClass('hide');
// toggles dinner results, sub menus
$(this).parent('.controls').find('.restaurant-submenu-select').removeClass('hide');
}
});
// Duplicates category select menu
$(".add-activity").click(function() {
$(".activity-category")
.clone()
.removeClass('activity-category')
.appendTo("#we-want-to")
.find('.restaurant-submenu-select')
.addClass('hide');
});
$(".add-activity-alternate").click(function() {
$(".activity-category-alternate")
.clone()
.removeClass('activity-category-alternate')
.appendTo("#we-want-to")
.find('.restaurant-submenu-select, .results-table')
.addClass('hide');
});
});
谢谢!
发布于 2012-09-10 21:59:09
在克隆时,还要添加一个动态id
var id = 0;
(function() {
yourClone.attr('id', 'something-' + id);
id++
});在您的代码中,类似于:
$(document).ready(function() {
var id = 0;
// shows / hides results based on selection
$(".categories-select").live("change", function() {
if ($(this).val() == 'dinner') {
$('.dinner').removeClass('hide');
// toggles dinner results, sub menus
$(this).parent('.controls').find('.restaurant-submenu-select').removeClass('hide');
}
});
// Duplicates category select menu
$(".add-activity").click(function() {
$(".activity-category")
.clone()
.removeClass('activity-category')
.appendTo("#we-want-to")
.find('.restaurant-submenu-select')
.addClass('hide')
.attr('id', 'something' + id);
id++
});
$(".add-activity-alternate").click(function() {
$(".activity-category-alternate")
.clone()
.removeClass('activity-category-alternate')
.appendTo("#we-want-to")
.find('.restaurant-submenu-select, .results-table')
.addClass('hide')
.attr('id', 'something' + id);
id++
});
});https://stackoverflow.com/questions/12353171
复制相似问题