jQuery:根据用户输入复制X个div

时间:2011-04-01 17:46:44

标签: jquery ajax

我正在建立一份充满活力的就业申请表。我想要一个字段,询问先前雇主的数量,当他们输入一个数字说3它将复制一个div与这些字段3次,随后更新每个名称和值字段与最后的数字ex:field1,field2,字段3。

我需要的字段: 雇主姓名,职务,主管,地址,州,邮编,电话

这有意义吗?我该怎么做呢?我没有代码期望html输入字段。

2 个答案:

答案 0 :(得分:2)

我用for循环和jquery的append()函数来做。

$("#employee_fields_generate").click(function ()
{
     $("#employee_fields").html("");
    var number_employees = $("input[name='number_employees']").val();

    for (i=0; i<=number_employees; i++)
    {
        $("#employee_fields").append('<div id="employee'+i+'"> //your field inputs go here </div>');
    }
});


<form id="employees_form">
    <label for="number_employees">Number of Employees:</label><input type="text" name="number_employees" />
    <button id="employee_fields_generate">Generate Fields!</button>
    <div id="employee_fields">
    </div>
</form>

答案 1 :(得分:0)

如果你想允许他们调整数字而不丢失他们的第一个条目,你可能会有这样的事情。

$('input[name=prior_employers]').keyup(function(){
     var how_many = parseInt($(this).val());
     if(how_many < 1 || isNaN(how_many)) { $('.employer-group').remove(); return; }
     $('.employer-group:gt('+how_many+')').remove();
     var employers = $('.employer-group');
     if (employers.length < how_many) {
       var container = $('#employer-container');
       for(i=employers.length; i<=how_many; i++) {
           container.append('<div class="employer-group"><input type="text" name="employer['+i+'][name]"/></div>');
       }
     }
});