Javascript 仅对新键入的文本进行筛选的键控文本筛选器?
我正在开发一个keyup函数,它根据Javascript 仅对新键入的文本进行筛选的键控文本筛选器?,javascript,jquery,Javascript,Jquery,我正在开发一个keyup函数,它根据的内容过滤div元素。当用户找到所需的div时,可以将其拖动到textarea中,并添加其文本。到目前为止,它还在工作,但只有当用户开始从一个空的文本区域键入时。如果文本区域中已经存在内容,并且用户希望向其中添加更多内容,则过滤器将无法工作,因为它会尝试过滤所有文本。我想修改函数,只过滤新键入的文本。例如,如果textarea已经包含“Some random text”;并且用户开始在分号“Some random text;(new text)”后键入,我只希
的内容过滤div元素。当用户找到所需的div时,可以将其拖动到textarea中,并添加其文本。到目前为止,它还在工作,但只有当用户开始从一个空的文本区域键入时。如果文本区域中已经存在内容,并且用户希望向其中添加更多内容,则过滤器将无法工作,因为它会尝试过滤所有文本。我想修改函数,只过滤新键入的文本。例如,如果textarea已经包含“Some random text”;并且用户开始在分号“Some random text;(new text)”后键入,我只希望它过滤(new text)。这可能吗
我的过滤器:
$(function () {
$('#modalTextArea').keyup(function () {
var filter = $(this).val(),
count = 0;
$('#modalJobList div').each(function () {
if ($(this).text().search(new RegExp(filter, "i")) < 0) {
$(this).hide();
} else {
$(this).show();
count++;
}
});
});
});
$(函数(){
$('#modalTextArea').keyup(函数(){
var filter=$(this.val(),
计数=0;
$('#modalJobList div')。每个(函数(){
if($(this.text().search)(新的RegExp(filter,“i”))<0){
$(this.hide();
}否则{
$(this.show();
计数++;
}
});
});
});
正在筛选我的div中继器:
<div id='modalJobList' class="board-list">
<asp:Repeater ID="modalJobRepeater" runat="server">
<ItemTemplate>
<div id='modalCardJob<%# string.Format("{0}", Eval("Job"))%>' class="card" draggable="true" ondragstart="dragStart(event)" data-appendto="job">
<p><%# string.Format("{0}", Eval("Job")) + " - " + string.Format("{0}", Eval("Description"))%></p>
</div>
</ItemTemplate>
</asp:Repeater>
</div>
我的文本区:
<textarea id="modalTextArea" data-boxtype="modalText" ondrop="dropIt(event)"></textarea>
我建议在键入时将字母存储在一个数组中。然后在键入时检查数组的当前计数,并避免在此之前的所有字母。如果可能的话