2017-04-14 18 views
0

내 select2 양식 편집 기능을 채우는 방법을 모르겠습니다. 여기에 저의 시도가 있습니다. 컨트롤러 : 여기 laravel 5.4 select2 multiple edit

<select class="form-control select2-multi" name="company_main_cat[]" multiple="multiple" style="width: 50%" data-placeholder="select main category"> 
<option value='{{$category->main_cat_id}}'>{{$category->main_cat_name}}</option> 
</select> 

내 JS입니다 : 여기

public function edit($id) 
{ 
    $company = Company::find($id);  

    $categories = MainCategory::all(); 
    $categories2 = array(); 
     foreach ($categories as $category) { 
     $categories2[$category->main_cat_id] = $category->main_cat_name; 
    } 

    return view('company/edit_company')->with('company', $company)->with('categories', $categories2); 
} 

내 뷰의

<script type="text/javascript"> 
$('.select2-multi').select2(); 
$('.select2-multi').select2().val({!! json_encode($company->maincategories()->allRelatedIds()) !!}).trigger('change'); 
</script> 

답변

1

당신이보기에 제대로 카테고리 데이터를 얻을 경우; 어느 코드에서 배열 것 같습니다. 당신은 foreach을 선택 요소 안에 넣을 수 있습니다.

<select class="form-control select2-multi" name="company_main_cat[]" multiple="multiple" style="width: 50%" data-placeholder="select main category"> 
    @foreach($category as $category_single) 
    <option value='{{$category_single->main_cat_id}}'>{{$category_single->main_cat_name}}</option> 
    @endforeach 
</select> 
+0

불행히도 컨트롤러에서 데이터를 올바르게 가져 오지 못했다고 생각합니다. 내 컨트롤러가 괜찮습니까? 내 자바 스크립트는 어떨까요? 나는 코딩에있어서 정말로 새로운 사람이다. 감사. –

+0

이름 안에 배열이 도움이되었습니다! name = "company_main_cat []" –