Я пытаюсь создать поиск ajax, в котором пользователь вводит свой код для поиска по названию школы и университета. но я не мог передать эти два значения в поле ввода.
html
<input name = "code" id = "search" value = "">
<input name = "school" value = "" type = "text">
<input name = "uni" value = "" type = "text">
ajax
$('#search').on('keyup',function(){
var value = $(this).val();
$value=$(this).val();
$.ajax({
type : 'get',
url : '{{URL::to('search')}}',
data:{'search':$value},
success:function(data){
$('input[name = "school"]').val(data);
$('input[name = "uni"]').val(data); //does'nt work
}
});
});
контролер
public function search(Request $request){
if ($request->ajax()){
$output = "";
$code=Model::where('code','LIKE','%'.$request->search."%")->get();
if ($code){
foreach ($code as $key => $code) {
$output.=
$code->school;
$code->uni;
}
return Response($output);
}
}
}
Название школы отображается правильно, но нет названия университета. Как мне это сделать? Пожалуйста помоги!






Вы пропустили конкатенацию для университета. Если я не ошибаюсь, это должно сработать:
$output.= $code->school;
$output.= $code->uni;
Вместо этого попробуйте следующее:
public function search(Request $request){
if ($request->ajax()){
$output= array();
$code=Model::where('code','LIKE','%'.$request->search."%")->get();
if ($code){
foreach ($code as $key => $code) {
$output['school'] = $code->school;
$output['uni'] = $code->uni;
}
return Response($output);
}
}
}
$('#search').on('keyup',function(){
var value = $(this).val();
$value=$(this).val();
$.ajax({
type : 'get',
url : '{{URL::to('search')}}',
data:{'search':$value},
success:function(data){
$('input[name = "school"]').val(data.school);
$('input[name = "uni"]').val(data.uni);
}
});
});
Вернуть данные в виде массива, а не в виде конкатенированной строки. Думаю, поэтому в полях ввода показаны два значения. Возвращаемый массив должен быть примерно таким: $output = array('school' => 'school_name', 'uni' => 'uni_name');
Я отредактировал свой ответ. Попробуйте с этим. console.info(data), чтобы узнать, какая информация присутствует и как ее следует передавать в .val().
да, я пробовал это. но эти два значения отображаются в двух полях ввода. для exp: поле ввода университета показывает название школы и университета и @ user3282898