I'm having a problem with bootstrap 3 and typeahead.js from github https://github.com/twitter/typeahead.js/blob/master/doc/jquery_typeahead.md#datasets
I'm trying to get my data from ajax to appear to suggest to a user when he types in my input field.
My console keeps giving me a message that says "Uncaught TypeError: Cannot read property 'replace' of undefined "
any help?
<html>
<head>
<!-- Bootstrap framework -->
<link rel="stylesheet" href="../bootstrap/css/bootstrap.min.css" />
</head>
<body>
<div class="well">
<input type="text" class="span3 typeahead form-control" id="players" data-provide="typeahead">
</div>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<!-- main bootstrap js -->
<script src="../bootstrap/js/bootstrap.min.js"></script>
<!-- bootstrap plugins -->
<script src="../js/bootstrap.plugins.min.js"></script>
<!-- typeahead-->
<script src="../lib/typeahead/typeahead.min.js"></script>
<script type="text/javascript">
$(function(){
$('#players').typeahead({
name: 'players',
remote: function(query, cb){
$.ajax({
url: 'ajax/search.php',
type: 'POST',
data: 'query='+query,
dataType: 'JSON',
async: true,
success: function(data){
cb(data);
}
})
}
})
});
</script>
Ajax data file (PHP):
<?
if(isset($_POST['query'])){
include 'connect.php';
$query = $_POST['query'];
$sql = mysql_query("SELECT * FROM players WHERE name LIKE '%{$query}%'");
$array = array();
while($row = mysql_fetch_assoc($sql)){
$array[] = $row['name'];
}
echo json_encode($array);
}
?>
not 100% sure this is the issue, but perhaps try changing
data: 'query='+query,
to
data: {"query" : query},
I was having this issue and it fixed my problem
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.