Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 28.04.2011, 23:09
Аспирант
Отправить личное сообщение для ale19 Посмотреть профиль Найти все сообщения от ale19
 
Регистрация: 10.04.2011
Сообщений: 69

отвечает undefined
Ответить с цитированием
  #22 (permalink)  
Старый 28.04.2011, 23:21
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ничем не могу почомь


тяжелый случай

читайте

удачи
Ответить с цитированием
  #23 (permalink)  
Старый 29.04.2011, 01:30
Аспирант
Отправить личное сообщение для ale19 Посмотреть профиль Найти все сообщения от ale19
 
Регистрация: 10.04.2011
Сообщений: 69

Блин вон оно...
когда query = 'слово' в таком виде то возвращает undefined
а когда в таком...query = bquery[0] то - location.href
Ответить с цитированием
  #24 (permalink)  
Старый 29.04.2011, 09:51
Аспирант
Отправить личное сообщение для ale19 Посмотреть профиль Найти все сообщения от ale19
 
Регистрация: 10.04.2011
Сообщений: 69

находит же и "себя" так сказать,только не показывает
if(hrf != location.href)
поэтому undefined не может быть,так как новость существует
Ответить с цитированием
  #25 (permalink)  
Старый 29.04.2011, 10:38
Аспирант
Отправить личное сообщение для ale19 Посмотреть профиль Найти все сообщения от ale19
 
Регистрация: 10.04.2011
Сообщений: 69

вот так заработало
function loadCheck(i){
 i = i || 0;
 var bquery = $("#ldF999").text().match(/([а-яёa-z]){4,}/gi);
 var query = bquery[i];
 $('#ressearch').show().html('<span id="searchload"><img src="/loader.gif" border="0"></span>');
 $.post('/load/', {query: query, a: 2},
 function(rez){
 var norez = $(".newslink:first", rez).attr("href");
 if (norez==location.href)
 {loadCheck(i+1); return false;}
 window.count = 0;
 $(".newslink", rez).each(function(){
 window.count = window.count + 1;
 if (window.count > 5) return;
 var hrf = $(this).attr("href");
 var txt = $(this).text();
 if(hrf != location.href){
 var hrfs = '<a href="'+hrf+'" class="newpotem">'+txt+'</a>';
 }
 $("#searchload").hide().after(hrfs);
 });});}
 setTimeout("loadCheck()",1);


только нужно еще прекратить поиск,когда закончатся bquery[i];

а еще лучше было бы если б убрать if(hrf != location.href) и присвоить условие что если
hrf==location.href то <a href="'+hrf+'" class="newpotem">'+txt+'</a> не отображается в результатах (display:none)
и если результат является единственным,т.е. только hrf==location.href то тогда loadCheck(i+1); return false;

тогда бы и
...
if (norez==undefined)
{loadCheck(i+1); return false;}
...

тоже работало бы...хотя это выражение уже и не было бы нужным,т.к. результат есть всегда хотя бы один,где hrf=location.href

вобщем возможно ли вот для такого вида
function loadCheck(i){
 i = i || 0;
 var bquery = $("#ldF999").text().match(/([а-яёa-z]){4,}/gi);
 var query = bquery[i];
 $('#ressearch').show().html('<span id="searchload"><img src="/loader.gif" border="0"></span>');
 $.post('/load/', {query: query, a: 2},
 function(rez){
 window.count = 0;
 $(".newslink", rez).each(function(){
 window.count = window.count + 1;
 if (window.count > 5) return;
 var hrf = $(this).attr("href");
 var txt = $(this).text();
 if(hrf == location.href){var hrfs = '';}
 else {var hrfs = '<a href="'+hrf+'" class="newpotem">'+txt+'</a>';
 }
$("#searchload").hide().after(hrfs);
 });});}
 setTimeout("loadCheck()",1);

задать условие что при единственном результате где hrf == location.href будет выполняться loadCheck(i+1); return false;

Последний раз редактировалось ale19, 29.04.2011 в 17:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
PagingToolbar и поиск DenQ ExtJS 5 02.11.2010 00:16
Поиск текста в блоке со скроллингом lukingnu Элементы интерфейса 0 05.08.2010 22:54
Поиск слова в исходном коде html страницы klsorat2010 Ваши сайты и скрипты 1 20.05.2010 23:46
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31