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

Posted

技术标签:

【中文标题】有没有办法从不同的 foreach 中获取值?【英文标题】:is there a way to get a value from a different foreach? 【发布时间】:2019-07-12 20:42:23 【问题描述】:

我正在尝试对 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>

【问题讨论】:

你能解释一下逻辑试图实现什么吗? Whats $userID, IS THE $user is the Auth::user() and $users 是所有用户的集合? 【参考方案1】:
$("#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);
                );
            
        );

【讨论】:

以上是关于有没有办法从不同的 foreach 中获取值?的主要内容,如果未能解决你的问题,请参考以下文章

来自两个foreach数组的Echo值,没有重复

PHP中有没有办法在foreach中重新启动循环,或者在开关中更改测试值?

如何在刀片foreach循环中获取迭代次数

获取当前调度队列?

如何从foreach循环中的匹配值获取下一个值

有没有办法从 blittable 结构数组中获取值数组?