2016-02-21 7 views
5

Bir proje için Select2 kullanıyorum. İkinci seçim kutusu, aşağıdaki kutuda gösterildiği gibi, ilk kutuda seçilen öğeye bağlı olarak doldurulur. Ancak, bazı nedenlerden ötürü ikinci seçim kutusundaki ilk öğeyi tıklayamıyorum. İstediğim takdirde ilk öğeyi seçmemin tek yolu, önce farklı bir kullanıcı seçip sonra da birinciye geri dönmektir. Bunu Nasıl Çözebilirim?AJAX dolu Click2 tıklanabilir değil

video:

enter image description here

Kodum:

Bu normal PHP (laravel) tarafından doldurulan alıyorum ilk seçme kutusu vardır. Burada her şey iyi çalışıyor.

<div class="form-group"> 
    <label for="select"> Partner: </label> 
    <select id="select" name="select" class="searchselect searchselectstyle"> 
     @foreach($partners as $i => $partner) 
      <option {{$i == 0 ? 'selected' : ''}} value="{{$partner->id}}">{{$partner->name}}</option> 
     @endforeach 
    </select> 
</div> 

Hata ile ikinci seçim kutusu İşte. -

<div class="form-group" > 
    <label for="select2"> Hoofdgebruiker: </label> 
    <select id="select2" style="min-width: 200px;" name="select2" class="searchselect searchselectstyle"> 

    </select> 
</div> 


<script type="text/javascript"> 
$(document).ready(function(){ 
    var url = '/json/getusers'; 
    var $post = {}; 
    $post.id = $("select").val(); 

    $.ajax({ 
     type: "POST", 
     dataType: "json", 
     url: url, 
     data: $post, 
     cache: false 
    }).done(function(data){ 
       $('#select2') 
         .find('option') 
         .remove() 
         .end(); 

       $.each(data, function(i, value) { 
        console.log(data); 
        $('#select2').append($('<option>').text(value.text).attr('value', value.id)); 
       }); 
      } 
    ); 
}); 

public function getusers(){ 
    if(!isset($_POST['term'])){ 
     $users = User::where('partner_id', $_POST['id'])->get(); 
    }else{ 
     $wildcard = '%'.$_POST['term'].'%'; 
     $users = User::where('partner_id', $_POST['id'])->where('email', 'LIKE', $wildcard)->get(); 
    } 

    $array = array(); 

    foreach($users as $i => $user){ 
     $array[$i] = array("id" => $user->id, "text" => $user->email); 
    } 
    return response()->json($array); 
} 
+0

$ .each' işlevinden önce boş bir seçeneği ('') eklemeyi denediniz mi? –

+0

@ArmanOzak Bu bana burada küçük bir boş seçenek sunuyor: https://gyazo.com/17a79875dd28a43cac148f576c5eb659 – Markinson

+0

Tamam. Ayrıca "