【发布时间】:2014-04-09 18:00:06
【问题描述】:
正如我的标题所说,我在使用 bootstrap 中的 typeahead 插件时需要一些帮助。我是新手。 让我向您展示我到目前为止所做的尝试。
我的 HTML
<input type="text" class="form-control" data-provide="typeahead" name="pname" id="pname" autocomplete="off">
我的 js
$('#pname').typeahead({
source: function (query, process) {
states = [];
map = {};
return $.get('/'+url_root_path+'/misc/purchase/source.php', { query: query }, function (data) {
console.log(data);
return process(data.pname);
});
}
});
我的 Json 是
[{"pname":"Chettinad","id":"1"},{"pname":"mobile","id":"4"},{"pname":"iPhone","id":"14"},{"pname":"jalli","id":"15"},{"pname":"iphone5s","id":"16"},{"pname":"no image","id":"19"}]
我的 PHP 代码是
$req = "SELECT pname, id "
."FROM product "
."WHERE pname LIKE '%".$_REQUEST['query']."%' ";
$query = mysql_query($req);
while($row = mysql_fetch_array($query))
{
$results[] = array('pname' => $row['pname'], 'id' => $row['id'] );
}
echo json_encode($results);
每当我尝试在文本框中输入一些内容时。我在控制台中收到错误
Uncaught TypeError: Cannot read property 'length' of undefined
请帮帮我。
【问题讨论】:
-
在我的 JS 之后,我给出了我的 json 数据。请看一看。 @Aditya
-
是的。我不能投票。它说upvote需要15个代表。 @Aditya
标签: javascript php twitter-bootstrap bootstrap-typeahead