如何使用角度js添加嵌套的添加字段?

时间:2016-02-03 10:50:39

标签: javascript jquery angularjs jsp

当我点击add-field按钮时,我需要另一个add-2nd-field按钮。如果我点击add-2nd-field按钮,我应该得到3个文本框,这应该在点击这些按钮后重复10次。目前我只是为了这个按钮工作正常的添加字段按钮。内部add-2nd-field按钮无效。

请帮帮我。

脚本代码

$(document).ready(function() {
var max_fields      = 10; //maximum input boxes allowed
var wrapper         = $(".input_fields_wrap"); //Fields wrapper
var add_button      = $(".add_field_button"); //Add button ID
var y=1;
var x = 1;//initlal text box count
$(add_button).click(function(e){ //on add input button click
    e.preventDefault();
    if(x < max_fields){ //max input box allowed
        x++; //text box increment
      $(wrapper).append('<div class="input_fields_wrap" id="seconddiv"><button class="add_field_button" id="secondclick">2nd add field</button><a href="#" class="remove_field"><i class="glyphicon glyphicon-trash"></i></a></div>'); 

    }
});

$(wrapper).on("click",".remove_field", function(e){ //user click on remove text                                                                              e.preventDefault(); $(this).parent('div').remove(); x--;
})});

html代码

<div class="input_fields_wrap">
<button class="add_field_button">Add More Fields</button></div>

提前致谢

1 个答案:

答案 0 :(得分:0)

我修改了你的代码。

JS代码:

var max_fields      = 10; //maximum input boxes allowed
var add_button      = jQuery(".add_field_button"); //Add button ID
var x = 1;//initlal text box count
jQuery('.add_field_button').on( "click", function(e) {
   if(x <= max_fields) {
        jQuery(this).html('Add Field '+(x+1));
        jQuery('.input_fields_wrap').prepend('<p>Field '+x+' added</p>');
        x++;
   } else {
    jQuery(this).addClass('hide');
    alert('Maximum limit reached');
   }
});

HTML代码与您的代码大致相同

<div class="input_fields_wrap">
<button class="add_field_button">Add 1st Field</button>
</div>

CSS代码

.hide {display: none;}

您可以将前置元素编辑为所需的html。希望它有所帮助