Вебмастеру

 
 
5

повторный вызов функции

  • Категория: html
привет :)
есть следующий код на jquery:

$('.inline_search').keyup(function (event) {
var $this = $(this);
$('.paginator').hide();
if ($this.val().length >= 3) {
$('#living-stories-dialog .list .ls').search($this.val());
$('.paginator').hide();
var search_complete = true;
}
if ((search_complete = true) && ($this.val().length < 3)) {
document.getElementById('living_stories').innerHTML = '';
return getJson();
}
});

с первой частью if все нормально, а со второй возникает небольшая проблема. Функция getJson, разумеется, подгружается каждый раз, когда изменяется кол-во символов в поисковом окошке 'inline_search' (в пределах 3 символов).
Разумеется, подгружать каждый раз не комильфо.
С таймаутом на ввод символов тоже не вариант.
Как сделать так, чтобы функция вызывалась только один раз-когда кол-во символов становится меньше трех?
Благодарю :)
 
 
1

Vladislav

  • группа: Гости
Уважаемая Дай Кляйне Гексе! Для достижения обозначенной Вами цели могу посоветовать следующее:
1. Нанять на удаленную работу подростка из Индии, разбирающегося в javascript. Нанимать лучше выходца из северных или центральных районов этой замечательной страны, тк именно в этих краях наиболее сильны голод и бедность, и больше шансов, что он будет работать за еду (договариваться об оплате - начиная с одного батона нарезного в неделю ж/д бандеролью).
2. Сваливать на него всю черную и грязную работу, в т.ч. по программированию, и жить припеваючи, паразитируя на измученных телах рабов из стран третьего мира.
 
 
2

Мари

  • группа: Гости
благодарю за идеи и столь трогательную заботу о моем моральном здоровье, но могу возразить на все это, сказав, что мне куда интереснее не эксплуатировать "негров" а насиловать мозг себе :) мазохизм такой, понимаешь ли :)
 
 
3

Павел

  • группа: Гости
что-то тут странное.

> if ((search_complete = true)
это сравнение? тогда ==, а не =

но в таком случае 2й блок никогда вообще не выполнится.

>return getJson();
что вы и куда возвращаете. а главное зачем?

>$('.paginator').hide();
>if ($...
>$('.paginator').hide();
зачем его прятать 2 раза?

а вообще..
- Как сделать так, чтобы функция вызывалась только один раз-когда кол-во символов становится меньше трех?
- Вызывать ее один раз, когда кол-во символов становится равно 2.
 
 
4

Мари

  • группа: Гости
нет, странного тут ничего нет.
Это диалог. Данные он получает в виде json. В нем же пагинация.
Насчет кол-ва символов, равное двум-не вариант. Работает точно так же, как и в приведенном варианте.
 
 
5

Андрей

  • группа: Гости
если я правильно понял, то можно сохранить первый вызов с глобальную переменную (да, это зло), а потом просто возвращать результат если переменная присутствует
 
 
Регистрация

Популярные статьи

» Mozilla Firefox: помощь и взаимоподдержка. Спрашиваем, ...
» Вопросы от новичков...
» перешли ли вы 100% на линукс без установленной параллел ...
» Ваши любимые плагины и дополнения
» Ответы на вопросы по PHP
» Какие CMS ВЫ предпочитаете - (плюсы и минусы)
» FAQ: вопросы и ответы
» Вопросы и консультации
» Другие браузеры (голосование!)
» Зарплата PHP программиста