You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel项目中jQuery嵌套each循环渲染表格出现undefined问题问询

问题根因

  1. 内层遍历逻辑没有处理HTML拼接:你直接将$.each放在字符串拼接位置,$.each本身不会返回回调内生成的HTML片段,回调内部仅声明了字符串也没有做任何拼接操作,最终<td>内拼接的是无有效返回值的遍历方法的执行结果,所以显示undefined。
  2. 数据匹配规则缺失:后端查询all_group_users时固定筛选了group_id=113,且前端内层遍历没有做分组和用户的关联匹配,即使修好了拼接逻辑,也会出现所有分组都渲染相同用户的问题。

修复方案

1. JS代码调整

先声明临时变量存储当前分组对应的用户HTML片段,遍历完成后再将片段拼入表格:

var tbody="";
$.each(response.all_groups, function (key, group) {
    // 临时变量存储当前分组的用户HTML
    let groupUserHtml = '';
    $.each(response.all_group_users, function (key, group_user) {
        // 仅匹配当前分组的用户
        if (group_user.group_id === group.group_id) {
            groupUserHtml += '<p>'+group_user.jid+'</p>';
        }
    });
    tbody += '<tr>'+
                '<td><p class="font-weight-bold mb-0">'+group.group_id+'</p>'+group.group_description+'</td>'+
                '<td>'+group.group_type_name+'</td>'+
                '<td>'+ groupUserHtml +'</td>'+
                '<td>'+getgroupstatus(group.effective_start_datetime, group.effective_end_datetime)+'</td>'+
                '<td>'+
                    '<button type="button" value="'+group.id+'" class="edit_group btn btn-outline-secondary"><i class="fas fa-edit"></i> Edit</button> '+
                    '<button type="button" value="'+group.group_id+'" title="delete '+ group.group_name +'" class="delete_group btn btn-outline-secondary"><i class="fas fa-trash"></i> Delete</button>'+
                '</td>'+
            '</tr>';
});

2. 后端代码调整

去掉控制器中固定筛选group_id=113的条件,返回所有未归档分组的用户数据,保证前端能匹配到全部分组对应的用户:

public function fetchgroupuser() {
    $all_group_users = HmsBbrGroupUser::selectRaw('hms_bbr_group_user.id,
                                                   hms_bbr_group_user.group_id,
                                                   hms_bbr_group_user.parent_id,
                                                   hms_bbr_group_user.jid,
                                                   hms_doctor.name ')
    ->leftJoin('hms_bbr_group', 'hms_bbr_group.id', '=', 'hms_bbr_group_user.parent_id')
    ->leftJoin('hms_doctor', 'hms_doctor.jid', '=', 'hms_bbr_group_user.jid')
    // 移除固定group_id筛选
    ->whereNull('hms_bbr_group.archived_by')
    ->get();
    return response()->json([
        'all_group_users'=>$all_group_users,
    ]);
}

内容的提问来源于stack exchange,提问作者user16409170

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:39:03