0

我目前正在使用 jquery 动态表单插件来添加表单字段。http://sroucheray.org/blog/jquery-dynamic-form/

我的挑战是尝试在添加/克隆字段标签时重命名它们:

例如:

电话区

电话字段 2

电话字段 3

如果有人有使用此插件的经验,我将非常感谢您的帮助。谢谢!

4

2 回答 2

0

看起来创建的标签的 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);
        }
    });
});
于 2011-05-10T15:00:52.893 回答
0

您应该查看 jQuery 的.delegate()方法...如果您需要帮助来实现它,请告诉我。

于 2011-05-10T15:06:20.710 回答