JavaScript追加中的动态数据循环

JavaScript追加中的动态数据循环,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用jQuery在视图中添加动态字段,它正在工作,我遇到的问题是通过jQuery在附加部分加载动态数据 这是我的密码: $document.readyfunction{ $add.clickfunction{ 变量loopsData=[ @foreach$attributes作为$attribute{ 值:“{{$attribute->id}}”, 文本:“{{$attribute->title}” } @除非$loop->last, @结束语 @endforeach ]; cons

我正在尝试使用jQuery在视图中添加动态字段,它正在工作,我遇到的问题是通过jQuery在附加部分加载动态数据

这是我的密码:

$document.readyfunction{ $add.clickfunction{ 变量loopsData=[ @foreach$attributes作为$attribute{ 值:“{{$attribute->id}}”, 文本:“{{$attribute->title}” } @除非$loop->last, @结束语 @endforeach ]; console.logloopsData; var lastField=$buildyourform div:last; var intId=lastField&&lastField.length&&lastField.dataidx+1 | | 1; var fieldWrapper=$; fieldWrapper.dataidx,intId; var fName=$Title; var fType=$ParentSelect+loopsData['text']+; var removeButton=$; removeButton.clickfunction{ $this.parent.remove; }; fieldWrapper.appendfName; fieldWrapper.appendfType; fieldWrapper.appendremoveButton; $buildyourform.appendfieldWrapper; }; }; 标题 父母亲 选择 @foreach$attributes作为$attribute {{$attribute->title} @endforeach 解决了的 这是我如何解决我的问题,感谢那些投票反对甚至没有试图帮助

首先,我在脚本中添加了以下代码:

var loopsData = [
    @foreach($attributes as $attribute)
        { value: '{{ $attribute->id }}', text: '{{ $attribute->title }}' }
        @unless ($loop->last)
            ,
        @endunless
    @endforeach
];

var helpers = '';
$.each(loopsData, function(key, value) {
  helpers += '<option value="'+value.value+'">'+value.text+'</option>';
});
以下是完整代码:

    $(document).ready(function() {
        $("#add").click(function() {

//my data from controller
            var loopsData = [
                @foreach($attributes as $attribute)
                    { value: '{{ $attribute->id }}', text: '{{ $attribute->title }}' }
                    @unless ($loop->last)
                        ,
                    @endunless
                @endforeach
            ];
    //looping my data in jQuery and return result as option html
            var helpers = '';
            $.each(loopsData, function(key, value) {
              helpers += '<option value="'+value.value+'">'+value.text+'</option>';
// += will add new option to my select box for each one of my loop data
            });

//add it to my code
            var lastField = $("#buildyourform div:last");
            var intId = (lastField && lastField.length && lastField.data("idx") + 1) || 1;
            var fieldWrapper = $("<div class=\"col-md-4 mt-20\" id=\"field" + intId + "\"/>");
            fieldWrapper.data("idx", intId);
            var fName = $("<label for=\"title\">Title</label><input type=\"text\" name=\"title[]\" class=\"form-control\" />");
            var fType = $("<label for=\"attribute_id\">Parent</label><select name=\"attribute_id[]\" id=\"attribute_id\" class=\"form-control\"><option value=\"\">Select</option>"+helpers+"</select>");
            var removeButton = $("<button type=\"button\" class=\"btn btn-danger\"><i class=\"fa fa-minus\"></i></button>");
            removeButton.click(function() {
                $(this).parent().remove();
            });
            fieldWrapper.append(fName);
            fieldWrapper.append(fType);
            fieldWrapper.append(removeButton);
            $("#buildyourform").append(fieldWrapper);
        });
    });

希望它对其他人有所帮助。

您在这里没有展示完整的图片。这是什么符号,一些模板??就像foreach,除非。。。这是PHP/Laravel吗?是的,是Laravel,因为我的问题是关于js的,我跳过了这一部分
    $(document).ready(function() {
        $("#add").click(function() {

//my data from controller
            var loopsData = [
                @foreach($attributes as $attribute)
                    { value: '{{ $attribute->id }}', text: '{{ $attribute->title }}' }
                    @unless ($loop->last)
                        ,
                    @endunless
                @endforeach
            ];
    //looping my data in jQuery and return result as option html
            var helpers = '';
            $.each(loopsData, function(key, value) {
              helpers += '<option value="'+value.value+'">'+value.text+'</option>';
// += will add new option to my select box for each one of my loop data
            });

//add it to my code
            var lastField = $("#buildyourform div:last");
            var intId = (lastField && lastField.length && lastField.data("idx") + 1) || 1;
            var fieldWrapper = $("<div class=\"col-md-4 mt-20\" id=\"field" + intId + "\"/>");
            fieldWrapper.data("idx", intId);
            var fName = $("<label for=\"title\">Title</label><input type=\"text\" name=\"title[]\" class=\"form-control\" />");
            var fType = $("<label for=\"attribute_id\">Parent</label><select name=\"attribute_id[]\" id=\"attribute_id\" class=\"form-control\"><option value=\"\">Select</option>"+helpers+"</select>");
            var removeButton = $("<button type=\"button\" class=\"btn btn-danger\"><i class=\"fa fa-minus\"></i></button>");
            removeButton.click(function() {
                $(this).parent().remove();
            });
            fieldWrapper.append(fName);
            fieldWrapper.append(fType);
            fieldWrapper.append(removeButton);
            $("#buildyourform").append(fieldWrapper);
        });
    });