Używam Select2 dla projektu. Drugie pole wyboru zostanie wypełnione w zależności od wybranego elementu w pierwszym polu, jak pokazano w poniższym łączu. Jednak z jakiegoś powodu nie mogę kliknąć pierwszego elementu w drugim polu wyboru. Jedynym sposobem dla mnie, aby wybrać pierwszy element, jeśli chcę, to najpierw wybrać innego użytkownika, a następnie z powrotem do pierwszego. Jak mogę to rozwiązać?Wypełniona AJAX Select2 niemożliwa do kliknięcia
wideo:
Mój kod:
To pierwsze pole zaznaczania, uzyskiwanie wypełniona przez regularne PHP (laravel). Wszystko działa dobrze tutaj.
<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>
Oto drugie pole wyboru, z błędem.
<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);
}
Czy próbowałeś dołączyć pustą opcję ('') przed funkcją '$ .each'? –
@ArmanOzak To daje mi małą pustą opcję, jak tutaj: https://gyazo.com/17a79875dd28a43cac148f576c5eb659 – Markinson
OK. Czy mógłbyś też dodać '' data-placeholder = "Cokolwiek chcesz tutaj" 'na twoim tagu'