我有一张桌子和一个搜索输入。
当用户在输入中键入内容时,我需要显示与搜索输入内输入的值相关的相关信息
用户可以通过公司名称或首席执行官名称
进行搜索 // if user enters TCS or Chandran ,i need to show TCS table row
$("#search").keyup(function(){
_this = this;
$.each($(".portlet"), function() {
if($(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1)
$(this).hide();
else
$(this).show();
});
});
http://jsfiddle.net/cod7ceho/173/
你能告诉我如何解决这个问题
答案 0 :(得分:1)
又增加了一项条件:
if((($(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase())) === 0)||($(this).data('ceo').toLowerCase().indexOf($(_this).val().toLowerCase())===0))
看看这个小提琴: http://jsfiddle.net/cod7ceho/177/
答案 1 :(得分:0)
如果您在compname
和ceo
中找不到搜索字符串,则只想隐藏“行”,因此您应该添加
&& ($(this).data('ceo').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1)
到if
if(($(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1) && ($(this).data('ceo').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1))
这有点难以阅读,所以我也会重新格式化为:
if(
($(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1)
&& ($(this).data('ceo').toLowerCase().indexOf($(_this).val().toLowerCase()) === -1)
){
$(this).hide();
} else ...
答案 2 :(得分:0)
您可以使用JQuery filter(),例如:
$("#search").keyup(function() {
_this = this;
inputVal = $(this).val().toLowerCase();
console.log(inputVal);
if (inputVal === "") {
$('.portlet').fadeIn();
} else {
$('.portlet').filter(function() {
return $(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) !== -1;
}).fadeIn();
$('.portlet').filter(function() {
return $(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) == -1;
}).fadeOut();
}
});
答案 3 :(得分:0)
我走了以下路:
$("#search").keyup(function(){
_found = false;
_this = this;
$.each($(".portlet"), function() {
if($(this).data('compname').toLowerCase().indexOf($(_this).val().toLowerCase()) == -1) {
$(this).hide();
_found = false;
} else {
$(this).show();
_found = true;
}
if($(this).data('ceo').toLowerCase().indexOf($(_this).val().toLowerCase()) == -1 && _found == false)
$(this).hide();
else
$(this).show();
});
});
我添加了变量_found
作为州持有人和附加条件。它不是最好的方式,它只是工作。