пример тут для проверки можно ввести символы a, b, c, d, e, f, g, h
Почему при вводе 1го символа не происходит поиск и как можно грамотно "сбросить результаты при вводе нового символа в строку?
Спасибо, если кто разберется :)
<script type="text/javascript">
$(document).ready(function(){
var res = [];
$('#search').keyup(function(){
$('#results').children().remove();
var searchStr = $('#search').val();
var searchStrL = searchStr.length;
$.getJSON('ajax/example.json', {}, function(json){
$.each(json, function(k, v) {
$.each(v, function() {
if(this.name.substr(0, searchStrL) == searchStr)
res.push(this.name);
});
});
});
$.each(res, function(index, value) {
$('#results').append('<li class="result-li"><a href="search.php?q='+value+'">'+value+'</li>');
});
});
});
</script>
<input type="text" id="search" />
<input type="button" value="Найти" />
<ul id="results" />
{
"person":[
{
"name":"cat",
"age":"21"
},
{
"name":"cucumber",
"age":"21"
},
{
"name":"dog",
"age":"23"
},
{
"name":"bear",
"age":"23"
},
{
"name":"giraffe",
"age":"23"
},
{
"name":"apple",
"age":"23"
},
{
"name":"ear",
"age":"23"
},
{
"name":"fruit",
"age":"23"
},
{
"name":"hare",
"age":"23"
}
]
}
Спустя 53 минуты, 25 секунд (14.01.2012 - 23:12) redreem написал(а):
мне кажется какая-то хрень с массивом res.
посмотри вот такой вариант скрипта:
посмотри вот такой вариант скрипта:
$(document).ready(function(){
$('#search').keyup(function(){
$('#results').children().remove();
var searchStr = $('#search').val();
var searchStrL = searchStr.length;
$.getJSON('json.php', {}, function(json){
$.each(json, function(k, v) {
$.each(v, function() {
if(this.name.substr(0, searchStrL) == searchStr) {
$('#results').html = '';
$('#results').append('<li class="result-li"><a href="search.php?q='+this.name+'">'+this.name+'</li>');
}
});
});
});
});
});
Спустя 20 минут, 49 секунд (14.01.2012 - 23:33) Rigel написал(а):
redreem
действительно, все из-за массива
Теперь работает, спасибо огромное!
действительно, все из-за массива
Теперь работает, спасибо огромное!
![huh.gif](http://phpforum.ru/html/emoticons/huh.gif)