Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 动态添加或删除表单文本字段和标签_Javascript_Jquery_Html - Fatal编程技术网

Javascript 动态添加或删除表单文本字段和标签

Javascript 动态添加或删除表单文本字段和标签,javascript,jquery,html,Javascript,Jquery,Html,我在这里找到了一个动态添加表单文本字段的代码。但是,我需要将标签添加到文本字段,并且每次添加新文本字段时,标签也会更改值,例如,增量为1。我已成功添加标签,但我的主要问题是: 1.如何在每次添加新字段和标签时获得一个标签增量 2.删除文本字段时,也可以删除标签。 我是Javascript新手,因此欢迎详细解释 Javascript代码: <script type="text/javascript"> $(document).ready(function(){

我在这里找到了一个动态添加表单文本字段的代码。但是,我需要将标签添加到文本字段,并且每次添加新文本字段时,标签也会更改值,例如,增量为1。我已成功添加标签,但我的主要问题是: 1.如何在每次添加新字段和标签时获得一个标签增量 2.删除文本字段时,也可以删除标签。 我是Javascript新手,因此欢迎详细解释

Javascript代码:

    <script type="text/javascript">
    $(document).ready(function(){
        var maxField = 10; //Input fields increment limitation
        var addButton = $('.add_button'); //Add button selector
        var wrapper = $('.field_wrapper'); //Input field wrapper
        var y = 2;
        var labelHTML = '<label for="inputEmail3" class="col-md-4 control-label">'+ $y + '</label>';
        var fieldHTML = '<div class="col-md-6"><input type="text" name="field_name[]" value=""/><a href="javascript:void(0);" class="remove_button" title="Remove field"><img src="remove-icon.png"/></a></div>'; //New input field html 
        var x = 1; //Initial field counter is 1
        $(addButton).click(function(){ //Once add button is clicked
            if(x < maxField){ //Check maximum number of input fields
                x++; //Increment field counter
                $(wrapper).append(labelHTML, fieldHTML); // Add field html
                y++;
            }
        });
        $(wrapper).on('click', '.remove_button', function(e){ //Once remove button is clicked
            e.preventDefault();
            $(this).parent('div').remove(); //Remove field html
            x--; //Decrement field counter
        });
    });
    </script>

$(文档).ready(函数(){
var maxField=10;//输入字段增量限制
var addButton=$('.add_button');//添加按钮选择器
var wrapper=$('.field_wrapper');//输入字段wrapper
变量y=2;
var labelHTML=''+$y+'';
var fieldHTML='';//新输入字段html
var x=1;//初始字段计数器为1
$(添加按钮)。单击添加按钮后,单击(函数(){//)
如果(x
HTML代码:

    <fieldset>
        <legend>Question Options:</legend>
        <div class="field_wrapper form-group">
            <label for="inputEmail3" class="col-md-4 control-label">1</label>
            <div class="col-md-6">
                <input type="text" name="field_name[]" value=""/>
                <a href="javascript:void(0);" class="add_button" title="Add field"><img src="add-icon.png"/></a>
            </div>
        </div>
    </fieldset>

问题选择:
1.

首先,您需要在add函数中定义html,使它们彼此唯一

其次,在删除输入字段及其父div之前,需要删除
标签

$(文档).ready(函数(){
var maxField=10;//输入字段增量限制
var addButton=$('.add_button');//添加按钮选择器
var wrapper=$('.field_wrapper');//输入字段wrapper
变量y=2;
var x=1;//初始字段计数器为1
var labelHTML=“”;
var fieldHTML=“”;
$(添加按钮)。单击添加按钮后,单击(函数(){//)
如果(x

问题选择:
1.

Wow@Brent Boden,它简直就像一个魔咒,我只在javascript代码中替换了labelHTML中的“test”属性,代码现在运行良好。非常感谢。@user2978051请将此答案标记为正确答案