简体   繁体   English

如何从循环阵列 Javascript 中删除和 append?

[英]How to remove and append from loop array Javascript?

i have a form like this.我有这样的表格。 在此处输入图像描述

when i change from country, how to remove this form and append again from looping array.当我从国家/地区更改时,如何从循环数组中再次删除此表格和 append。 if data only one, show Add Form Button and if data > 1, first form always show Add Form Button, for 2nd,3th.. show Delete Form Button.如果只有一个数据,则显示添加表单按钮,如果数据> 1,则第一个表单始终显示添加表单按钮,对于第二个、第三个......显示删除表单按钮。

this is my data: [{"gamename":"nama game 1","gamelink":"link game 1","image_link":"link gambar 1","startfrom":"1"},{"gamename":"nama game 2","gamelink":"link game 2","image_link":"link gambar 2","startfrom":"2"}]这是我的数据: [{"gamename":"nama game 1","gamelink":"link game 1","image_link":"link gambar 1","startfrom":"1"},{"gamename" :"nama game 2","gamelink":"link game 2","image_link":"link gambar 2","startfrom":"2"}]

This is my script, but not working:这是我的脚本,但不起作用:

var elem = document.getElementById('formadd');
elem.parentNode.removeChild(elem);
var json = response.data[0].games;
var array = JSON.parse(json);
for (var i = 0; i < array.length; i++) {
$('.formadd').append(

'<div id="game-form-'+i+'">'+
            '<hr>'+
                '<div class="form-group">'+
                    '<div class="col-md-3">'+

                    '</div>'+
                    '<div class="col-md-6">'+
                        '<label for="gamename" class="control-label col-sm-2">Game Name</label>'+
                            '<div class="col-sm-10" style="margin-bottom: 5px">'+
                                '<input class="form-control valid" name="gamename[]" type="text" id="gamename" aria-invalid="false" required>'+
                            '</div>'+

                            '<label for="gamelink" class="control-label col-sm-2">Game Link</label>'+
                            '<div class="col-sm-10" style="margin-bottom: 5px">'+
                                '<input class="form-control" name="gamelink[]" type="text" id="gamelink" required>'+
                            '</div>'+

                            '<label for="image_link" class="control-label col-sm-2">Image Link</label>'+
                            '<div class="col-sm-10" style="margin-bottom: 5px">'+
                                '<input class="form-control" name="image_link[]" type="text" id="image_link" required>'+
                            '</div>'+

                            '<label for="startfrom" class="control-label col-sm-2">Start From</label>'+
                            '<div class="col-sm-10" style="margin-bottom: 5px">'+
                                '<input class="form-control" name="startfrom[]" type="text" id="startfrom" required>'+
                            '</div>'+

                    '</div>'+
                    '<div class="col-md-3"><a href="#" onclick="deleteForm('+i+')" class="btn btn-sm btn-danger pull-left">Delete Form</a></div>'+
                '</div>'+
            '</div>' 
            );
}

i want to like this:我想要这样: 在此处输入图像描述

May be you did not use consistent id and class for #formadd可能是您没有为#formadd 使用一致的 id 和#formadd

I tried to reproduce use only id it worked我试图重现仅使用它有效的 id

 var json = [{"gamename":"nama game 1","gamelink":"link game 1","image_link":"link gambar 1","startfrom":"1"},{"gamename":"nama game 2","gamelink":"link game 2","image_link":"link gambar 2","startfrom":"2"}] var elem = document.getElementById('formadd'); //elem.parentNode.removeChild(elem); var i = 0; var array = json; $('#formadd').append( '<div id="game-form-'+i+'">'+ '<hr>'+ '<div class="form-group">'+ '<div class="col-md-3">'+ '</div>'+ '<div class="col-md-6">'+ '<label for="gamename" class="control-label col-sm-2">Game Name</label>'+ '<div class="col-sm-10" style="margin-bottom: 5px">'+ '<input class="form-control valid" name="gamename[]" type="text" id="gamename" aria-invalid="false" required>'+ '</div>'+ '<label for="gamelink" class="control-label col-sm-2">Game Link</label>'+ '<div class="col-sm-10" style="margin-bottom: 5px">'+ '<input class="form-control" name="gamelink[]" type="text" id="gamelink" required>'+ '</div>'+ '<label for="image_link" class="control-label col-sm-2">Image Link</label>'+ '<div class="col-sm-10" style="margin-bottom: 5px">'+ '<input class="form-control" name="image_link[]" type="text" id="image_link" required>'+ '</div>'+ '<label for="startfrom" class="control-label col-sm-2">Start From</label>'+ '<div class="col-sm-10" style="margin-bottom: 5px">'+ '<input class="form-control" name="startfrom[]" type="text" id="startfrom" required>'+ '</div>'+ '</div>'+ '<div class="col-md-3"><a href="#" onclick="deleteForm('+i+')" class="btn btn-sm btn-danger pull-left">Delete Form</a></div>'+ '</div>'+ '</div>' );
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="formadd"></form>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM