我试图计算在用户在textarea中编写的文本中使用输入字段中的关键字的次数。我有点工作,但有一些问题。我如何使搜索进行实时搜索而不是现在,用户必须按下按钮才能搜索代码?
$(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>
您只需将该函数放在查询框的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()));
});
});