有没有办法从不同的foreach获取价值?

时间:2019-02-19 10:59:26

标签: jquery ajax laravel jquery-ui

我正在尝试对laravel中的字段进行拖放更新。

所有后端工作正常,如果我对值进行硬编码,但数据库会更新,但是我需要在javascript中提取2个变量。

我在脚本的前面加载了jquery 3.3.1。

发布数据时,我的userId出现问题。它要么总是使用列表中的最后一个ID,要么如果我使用变量userIds,它将通过数组。

<style href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/base/jquery-ui.css"></style>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script>
   $(function() {
      @foreach($users as $user)
      $("#draggable-{{$user->id}}").val({{$user->id}}).draggable({
         refreshPositions: true,
         snap: true,
         revert: true,
      });
      @endforeach
      var userIds = {{$userID}};
      userIds.forEach(function(element) {
         if(element === {{$user->id}}) {
            var userId = {{$user->id}};
         }
      });
      @foreach($funders as $funder)
      $("#droppable-{{$funder->funder}}").droppable({
         activeClass: "active",
         hoverClass:  "hover",
         drop: function (event, ui) {
            $.ajax({
               headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
               type: "POST",
               url: '{{route('update-funders')}}',
               dataType: 'json',
               data: {'funder':$("#droppable-{{$funder->funder}}").attr('data'), 'id': userId },
            }).done(function( data ) {
               // console.log(data);
               // var result = $.parseJSON(data);
            });
         }
      });
      @endforeach
   });
</script>

1 个答案:

答案 0 :(得分:0)

$("#droppable-{{$funder->funder}}").droppable({
            activeClass: "active",
            hoverClass:  "hover",
            drop: function (event, ui) {
                let userId = ui.draggable.attr('data-id');
                $.ajax({
                    headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                    type: "POST",
                    url: '{{route('update-funders')}}',
                    dataType: 'json',
                    data: {'funder':$("#droppable-{{$funder->funder}}").attr('data'), 'id': userId },
                }).done(function( data ) {
                    // var result = $.parseJSON(data);
                });
            }
        });