显示循环中的所有数据

时间:2017-10-26 17:51:15

标签: javascript laravel

我能够成功从数据库中获取所有数据,但只显示数组中的最后一项。我做错了什么?

HTML

@foreach($groups as $group)
<button type ="button" value="{!! $group->id !!}"  id="btn"  name="btn">{!!$group->name!!}</button>
    <div class="panel">
      <label for="myvalue"><input type="checkbox" id="myvalue" /> <span>Label text x</span></label>
    </div>
    @endforeach

的JavaScript

$.ajax({
  type: "GET",
  url: "/dashboard/ajax=?id=" +id,
  data: {
    id: $(this).val(), 
    access_token: $("#access_token").val()   
  },
  success: function (result) { 
    $.each(result, function (i, fb) {
      $("label[for='myvalue']").text(fb.name);  
    });
  }
);

2 个答案:

答案 0 :(得分:1)

这样您就可以替换标签文本,而不是创建标签。您正在寻找的是:

<div class="panel" id="labels_cotainer">
  <label for="myvalue">
  <input type="checkbox" id="myvalue" />
  <span>Label text x</span></label>
</div>

 $.ajax({
    type: "GET",
    url: "/dashboard/ajax=?id=" +id,
    data:{ 
       id: $(this).val(), 
       access_token: $("#access_token").val()   
    },
    success:function(result) { 
       $.each(result, function (i, fb) {
          $("#labels_cotainer").append('<label>'+fb.name+'</label>');  
       }
    }
 });

此代码会将每个标签附加到您的面板

答案 1 :(得分:0)

您必须动态创建新标签并向其添加fb.name,否则您将替换所有值,直到最后一个值

success:function(result) { 
       $.each(result, function (i, fb) {
          $("#outerDiv").append('<label>'+fb.name+'</label>');  
       });
}