数组对象中的数组对象

Array object in array object

本文关键字:数组 对象      更新时间:2023-09-26

我有一个对象数组,这个对象也有一个对象数组。我得到它与ajax请求,并希望与JSON数据进行选择。我已经试了很多例子

Object service_problems: 
   Array[3]
     0: Object
       id: 2
       name: "bla bla"
        problems: Array[2]
          0: Object
            id: 3,
            name: 'blab bla'
          1: Object
             id: 4,
             name: 'bla blae'

从这些数据,我想做一个选择与optgroup和选项:

<select>
    <optgroup label="service_problems.name">
        <option value="3">blab bla</option>
        <option value="4">bla blae</option>
    </optgroup>
</select>

还有我的PHP代码:

if ($request->ajax()) {
            $services = DeviceType::find($request->type_id);
            $services = $services->services;
            $service_with_problems = [];
            function findServiceProblems($id) {
                $service = Service::find($id);
                return $service->serviceProblems;
            }
            foreach ($services as $service) {
                $service_problems = findServiceProblems($service->id);
                array_push($service_with_problems, [
                    'id' => $service->id,
                    'name' => $service->name,
                    'service_problems' => $service_problems
                ]);
            }
            return response()->json(['service_problems' => $service_with_problems]);
        }

帮助请)

问题解决

jQuery.map(data['service_problems'], function (problem) {
    options += '<optgroup label="'+ problem.name +'">';
    jQuery.map(problem.problems, function (data) {
        options += '<option>'+ data.name +'</option>';
    });
    options += '</optgroup>';
});