我有很多项目和一些输入的 UL 列表。我的脚本监听输入并显示或隐藏与输入字符串匹配的字段。
这是我的代码:
$(function(){
$('#srvSearchField').keyup(function(){
var value = $(this).val();
$('.srvClientBlock').each(function(){
var currentFieldValue = $(this).children('.srvClientName').html();
var exp = new RegExp(value);
if (currentFieldValue.match(exp)) {
$(this).show();
} else {
$(this).hide();
}
});
});
});
我怎样才能提高性能?或者我应该在我的服务器上发送请求以查找匹配值?
UPD:我决定使用 ajax 来过滤客户端。
var url = "<?php echo $searchClientUrl;?>";
$(function(){
$('#srvSearchField').keyup(function(){
var request = $(this).val();
var callback = function(response) {
$('.srvClientBlock').hide();
var data = JSON.parse(response);
for (var i = 0; i < data.length; i++) {
$('#srvClient-' + data[i]).show();
}
};
$.post(url, {"request" : request}, callback);
});
});
谢谢大家的回答。