本网站为Book Hotel,用户搜索后可查看该城市和酒店。
我想在laravel 5.2中使用加载远程数据select2。
Github示例:https://select2.github.io/examples.html#data-ajax
模型City
:
protected $fillable = [
'name', 'state', 'country', 'status'
];
模型Hotel
:
protected $fillable =[
'name', 'address', 'phone', 'status', ...
];
HTML:
<select class="js-data-example-ajax">
<option value="3620194" selected="selected">select2/select2</option>
</select>
脚本:
$(".js-data-example-ajax").select2({
ajax: {
url: "https://api.github.com/search/repositories",
dataType: 'json',
delay: 250,
data: function (params) {
return {
q: params.term, // search term
page: params.page
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: data.items,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 1,
templateResult: formatRepo, // omitted for brevity, see the source of this page
templateSelection: formatRepoSelection // omitted for brevity, see the source of this page
});
从Laravel controller
发送数据后,如何在ajax
中撰写?
答案 0 :(得分:1)
<强> HTML:强>
<select id="hotel" name="hotel">
<option value="hotel1">Hotel1</option>
<option value="hotel2">Hotel2</option>
</select>
Jquery和Ajax:
$(document).on('click','#hotel',function(e)
{
e.preventDefault();
var name=$(this).val('hotel');
$.ajax({
type:"POST",
url: "{{url('/controller/search')}}",
data: {
"_token": "{{ csrf_token() }}"
},
success: function (data) {
var res = $.parseJSON(data);
if(res == true)
{
alert('ok');
}
}
});
});
Laravel控制器:
public function search(Request $request)
{
$hotel=Hotel::where(['name',$request->name])->first();
return Response::json(array('status'=>TRUE,'hotel'=>$hotel));
}