我目前正在使用 jquery 动态表单插件来添加表单字段。http://sroucheray.org/blog/jquery-dynamic-form/
我的挑战是尝试在添加/克隆字段标签时重命名它们:
例如:
电话区
电话字段 2
电话字段 3
如果有人有使用此插件的经验,我将非常感谢您的帮助。谢谢!
我目前正在使用 jquery 动态表单插件来添加表单字段。http://sroucheray.org/blog/jquery-dynamic-form/
我的挑战是尝试在添加/克隆字段标签时重命名它们:
例如:
电话区
电话字段 2
电话字段 3
如果有人有使用此插件的经验,我将非常感谢您的帮助。谢谢!
看起来创建的标签的 for 属性的格式phone#
是#
基于 0 的索引,您可以执行以下操作:
var i = 0;
var $label = $('label[for="phone' + i + '"]');
do
{
var txt = 'Phone Field';
if(i > 0)
txt += ' ' + i;
$label.text(txt);
i++;
$label = $('label[for="phone' + i + '"]');
} while($label.length);
在这里工作的 jsFiddle 示例
编辑:回应大卫的评论:
一种方法是在添加新克隆时进行挂钩,记录添加的数量(用于文本)。然后您只需重命名添加的标签:
var numLabels = 0;
$(document).ready(function() {
$("#duplicate").dynamicForm("#plus", "#minus", { //options
limit: 3,
afterClone: function(clone) {
numLabels++;
var txt = 'Phone Field ' + numLabels;
$('label', clone).text(txt);
}
});
});
您应该查看 jQuery 的.delegate()方法...如果您需要帮助来实现它,请告诉我。