gpt4 book ai didi

php - Laravel5 中的 jQuery 自动完成功能不起作用

转载 作者:行者123 更新时间:2023-12-01 06:10:14 24 4
gpt4 key购买 nike

这是基本代码。我似乎无法让它在 Laravel 5 中工作:

路线.php

Route::get('h2h', 'atp_players\H2hController@getIndex');
Route::get('h2h_getdata', 'atp_players\H2hController@getData');

H2hController.php

namespace Atpstats\Http\Controllers\atp_players;
use Atpstats\Http\Controllers\Controller;
use Response;
use Request;


class H2hController extends Controller{

public function getIndex() {
return view('atp_players.h2h');
}

public function getData() {
$term = Request::input('auto', 'r');

$results = \DB::table('atp_players')->select('firstname')->get();
$data = array();

foreach($results as $result) {

if(strpos($result,$term) !== false) {
$data[] = ['value' => $result->firstname];
}
}
return Response::json($data);
}
}

查看:h2h.blade.php

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete test</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
</head>
<body>
<div class="container">
<div class="ui-widget">
<label for="">Find a player</label>
<input type="text" class="form-control input-sm" name="auto" id="auto" autocomplete="on">
</div>
<div class="form-group">
<label for="">Response</label>
<input type="text" class="form-control input-sm" name="response" id="response" disabled>
</div>

<script>
$('#auto').autocomplete({
type: "get",
source: 'h2h_getdata',
dataType: "json",
minLength: 1,
select:function(e,ui){
$('#response').val(ui.item.value);
}
});

</script>
</body>
</html>

这不起作用。当您向输入文本框写入内容时,它不会执行任何操作。但是,如果我在 Controller 中注释某些行,则会出现数据库的数据(名字),但自动完成功能不起作用。

这就是修改后的 Controller 函数:

public function getData() {
//$term = Request::input('auto', 'r');

$results = \DB::table('atp_players')->select('firstname')->get();
$data = array();

foreach($results as $result) {

//if(strpos($result,$term) !== false) {
$data[] = ['value' => $result->firstname];
//}
}
return Response::json($data);
}

最佳答案

我认为问题可能出在服务器端代码上。尝试将表单项名称从“auto”更改为“term”,如下所示:

...
public function getData() {
$term = Request::input('term', 'r');
...

欲了解更多信息,请查看http://api.jqueryui.com/1.10/autocomplete/#option-source

关于php - Laravel5 中的 jQuery 自动完成功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28773100/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com