Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   поиск на странице (https://javascript.ru/forum/jquery/47521-poisk-na-stranice.html)

рони 28.05.2014 12:00

sergeo_89,
начиная со строки 23 и до конца скрипта идёт нелогичная конструция и ошибка в селекторе строка 30

рони 28.05.2014 12:10

sergeo_89,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .searchResult{
    background: Aqua
  }

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function(){
  $('#search').submit(function(){
    var searchValue = $('#textSearch').val();
    if(searchValue == '' || searchValue == 'Поиск..') {
      alert('Вы не заполнили поле ввода');
    }
    else {
      globalSearch(searchValue);
    }
      return false;
    })

function globalSearch(myString){
  var regV = /\w\s\d[A-Za-z0-9-]+/g;
  var result = myString.search(regV);
  var allElements = $('*:not(".block_C, .block_C *")');
  allElements.each(function(){
    if($(this).text() == myString && result == -1) {
      $(this).css('background','#F9FF82');
      $('.block_C').prepend('<p>Результаты поиска:<br><br><span>' + myString + '</span><br><br></p>').addClass('searchResult');
        }
        else{
         // globalSearchRemove(myString);
        }
      })
}

function globalSearchRemove(myResults){
    $('.block_C p').fadeOut(300);
}

})

  </script>
</head>

<body>
  <p>test</p><p>notest</p>
  <div class="block_C"></div>
<form  id="search" method="POST" action="" name="searchform">
	<input id="ButtonSearch" type="submit" value="Найти">
	<input id="textSearch" type="text" name="search" value="Поиск..">
	</form>

</body>

</html>

sergeo_89 28.05.2014 12:42

Спасибо большое за поправку.
Цитата:

Сообщение от рони (Сообщение 313785)
sergeo_89,
начиная со строки 23 и до конца скрипта идёт нелогичная конструция и ошибка в селекторе строка 30

Здесь Я хотел как то привязать функцию, чтоб при вводе пользователем другого значения, старые результаты поиска удалялись.

а так у меня проблемма в том, что основной текст находится в блоке Д, который надо искать, и он не работает, там английский текст, что нужно дописать, Чтоб мои задачи были реализованы? а вообще наверно мне стоит сначала javaScript изучить... раз в таких простейших местах делаю ошибки...

рони 28.05.2014 12:53

Цитата:

Сообщение от sergeo_89
чтоб при вводе пользователем другого значения, старые результаты поиска удалялись.

так стирайте сразу в строке 28 добавьте $('.block_C').html('') или $( '.block_C' ).empty();
Цитата:

Сообщение от sergeo_89
а так у меня проблемма в том, что основной текст находится в блоке Д, который надо искать, и он не работает, там английский текст, что нужно дописать, Чтоб мои задачи были реализованы?

моя твоя непонимать - твоя макет делать обьяснять
может готовое тут взять http://javascript.ru/forum/project/4...-v-tekste.html

sergeo_89 28.05.2014 14:46

а все спасибо разобрался, вставил в событие submit
$('.block_C').html('');
и все заработало. осталось только разобраться почему ищет только одно слово (Главная). В готовом варианте слишком все сложно, да и самому лучше сделать, чтоб понять, Спасибо еще раз

sergeo_89 28.05.2014 17:00

вот перевел проект в песочницу, посмотри пожалуйста, когда ввожу слово "Главная" все работает, когда "Lorem" нет. http://learn.javascript.ru/play/KQlDfc
и плюс не знаю как бы убрать background, если пользователь ввел другое значение в форму поиска

рони 28.05.2014 17:16

sergeo_89,
так вы хотите часть текста -- так делайте test или search а не ==
Цитата:

Сообщение от sergeo_89
не знаю как бы убрать background

ставьте класс и удаляйте класс


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