Подсчитать слово написанное в текстовой области - PullRequest
0 голосов
/ 31 марта 2019

Я пытаюсь подсчитать, сколько раз ключевое слово из поля ввода используется в тексте, который пользователь написал в текстовой области.Я вроде заставил это работать, но у меня были некоторые проблемы.Как сделать так, чтобы поиск выполнял поиск в реальном времени, а не как сейчас, когда пользователю нужно нажать кнопку для поиска кода?

$(function() {
  function numHits(n, h) {
    var c, re = new RegExp(n, "g");
    c = (h.match(re) || []).length;
    return c;
  }
  $("#finder").submit(function(e) {
    e.preventDefault();
    $("#keyword-count").html(numHits($("#keyword-input").val(), $("#my-txt-area").val()));
  });
});
<form id="finder">
  <textarea name="mytxtarea" id="my-txt-area" cols="100" rows="10"></textarea>
  <br>
  <div class="input-area" id="div-keywords">
    <input type="text" id="keyword-input" placeholder="Enter keyword..." /> <button id="search-keyword" type="submit">Search</button>
  </div>
</form>
<p>Your word has been used <span id="keyword-count">0</span> times throughout the text.</p>

Фрагмент кода

1 Ответ

0 голосов
/ 31 марта 2019

Вам просто нужно поместить функцию в событие keyup вашего поля запроса

$(function() {
  function numHits(n, h) {
    var c, re = new RegExp(n, "g");
    c = (h.match(re) || []).length;
    return c;
  }
  $("#keyword-input").keyup(function(e) {
    e.preventDefault();
    $("#keyword-count").html(numHits($("#keyword-input").val(), $("#my-txt-area").val()));
  });
});
...