Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Повторить поиск... (https://javascript.ru/forum/misc/16903-povtorit-poisk.html)

ale19 28.04.2011 23:09

отвечает undefined

melky 28.04.2011 23:21

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


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

читайте

удачи

ale19 29.04.2011 01:30

Блин вон оно...
когда query = 'слово' в таком виде то возвращает undefined
а когда в таком...query = bquery[0] то - location.href

ale19 29.04.2011 09:51

находит же и "себя" так сказать,только не показывает
if(hrf != location.href)
поэтому undefined не может быть,так как новость существует

ale19 29.04.2011 10:38

вот так заработало
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;


Часовой пояс GMT +3, время: 07:28.