weixin_33717298 2016-10-27 14:05 采纳率: 0%
浏览 34

数组对象中的数组对象

I have an array of objects and that objects also have an array of objects. I'm getting it with an ajax request and want to make a select with that JSON data. Cant solve this problem) i've tried a lot of examples.

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'

From this data i want to make a select with optgroup and options:

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

Also my PHP code:

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]);
        }

help pls)

  • 写回答

1条回答 默认 最新

  • weixin_33728708 2016-10-27 15:17
    关注

    Solved problem)

    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>';
    });
    
    评论

报告相同问题?