J'ai un problème avec une case à cocher: lors d'un LIVEsearch, la valeur de la case à cocher est toujours définie sur 1/true. Quand je fais la même chose dans une recherche normale (sans le fichier js) je n'ai pas ce problème. tout d'abord le code de ma case à cocher:Laravel Checkbox renvoie toujours vrai dans la recherche en direct
{{ Form::checkbox('deleted', '1' , null , array('id' => 'search-deleted'))}}
que le code de mon javascript (je suppose que le problème est d'obtenir la valeur de la case à cocher)
<script>
$(document).ready(function(){
$(".search").keyup(function(){
var staffid= $("#search-staffid").val();
var firstName= $("#search-first-name").val();
var lastName= $("#search-last-name").val();
var birthday= $("#search-birthday").val();
var children= $("#search-children").val();
var deleted= $("#search-deleted").val();
if(staffid == "" && firstName == "" && lastName == "" && birthday == "" && children == "") {
$("#liveResult").html("<b>Suchergebnisse werden hier angezeigt</b>");
}else {
$.get("{{ url('demos/livesearch') }}" +
'?staffid=' + staffid +
'&first_name=' + firstName +
'&last_name=' + lastName +
'&birthday=' + birthday +
'&children=' + children +
'&deleted=' + deleted
, function(data) {
$("#liveResult").html(data);
});
}
});
});
</script>
Comme vous le voyez, j'ai quelques-uns d'autres domaines, ils fonctionnent sans aucun problème. Enfin, le code de mon contrôleur:
public function liveSearch(Request $request)
{
$data = [
'id' => $request->staffid,
'first_name' => $request->first_name,
'last_name' => $request->last_name,
// converts date format only if birthday != null
'birthday' => ($request->birthday ? date('Y-m-d', strtotime($request->birthday)) : null),
'children' => $request->children,
'deleted' => $request->deleted
];
if (is_null($data['id']) && is_null($data['first_name']) && is_null($data['last_name']) && is_null($data['birthday']) && is_null($data['children']))
{
return view('staff.livesearch');
}
else
{
dd ($data['deleted']);
}
}
Oui, merci beaucoup! –