I have an form thatdoes a live search with results with a json file so when i type in for example 'a' it brings up all the contacts in the address book but if I type a full last name for example if I type s-m-i-t-h it still shows all the contacts instead of the names that begins with s and then any name with smith in it. How would I be able filter these results? If anyone can help me it would a massive help.
EDIT: Sample address.json as mentioned in comments (properly formatted)
[{
"first_name": "Barbara",
"last_name": "Adams",
"Picture": "robohash.org/…; ",
"phone": "7 - (263) 660 - 4073 ",
"address": "878 Schurz Hill "
}, {
"first_name": "Ashley",
"last_name": "Bowman",
"Picture": "robohash.org",
"phone": "1 - (512) 301 - 8791 ",
"address": "54 Ruskin Point "
}]
HTML Content:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Index</title>
<!-- Bootstrap -->
<link href="css/bootstrap.min.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.3/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<form>
<div class="form-group">
<input type="email" class="form-control input-lg" id="search" placeholder="type to search ....">
</div>
<div id="results"> </div>
</form>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<!-- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"></script> -->
<script>
$(window).load(function(){
$('#search').keyup(function(){
var searchField = $('#search').val();
var output = '<div class="row">';
var count = 1;
$.getJSON('address.json', function(data) {
console.log(data);
$.each(data, function(key, val){
output += '<div class="col-md-6 well">';
output += '<div class="col-md-3"><img class="img-responsive" src="'+val.picture+'" alt="'+ val.first_name +'" /></div>';
output += '<div class="col-md-7">';
output += '<h5>' + val.first_name + '</h5>';
output += '<h4>' + val.last_name + '</h4>'
output += '</div>';
output += '</div>';
});
output += '</div>';
$('#results').html(output);
});
});
});
</script>
</body>
</html>