2016-12-07 46 views
-3

Here是小提琴,我有搜索和工作良好,但我想改变现有的代码获取字母背景突出显示不是总字。只有字母背景亮点........需要在搜索上高亮字母

在这代码更改........

$("#search").keyup(function() { 
 
    value = $(this); 
 
    if (value.val() == "") { 
 
    $.each($("#ftz-table tbody tr td"), function() { 
 
     $(this).css('background-color', 'rgba(0,0,0,0)'); 
 
    }) 
 
    return; 
 
    } 
 
    $.each($("#ftz-table tbody tr td"), function() { 
 
    if (!($(this).text().toLowerCase().indexOf($(value).val().toLowerCase()) == -1)) { 
 
     $(this).css("background-color", "red"); 
 
    } else { 
 
     $(this).css("background-color", "rgba(0,0,0,0)"); 
 
    } 
 
    }); 
 
});

+1

那你试试,到目前为止,造成这只是看起来像你花了一段代码,并希望得到的代码工作的一块,而无需实际做任何事情 – Icepickle

+0

Stack Overflow是一个问答网站,而不是代码写作服务。 – secelite

回答

-1

这应做到:

if(!($(this).text().toLowerCase().indexOf(searched_term) == -1)){ 
    $(this).html(original_text.replace(searched_term, "<mark style='background: yellow'>"+searched_term+"</mark>")); 
} 
else{ 
    $(this).text($(this).text()); 
} 

基本的想法是一个HTML元素来代替搜索项,使我们可以用CSS轻松高亮显示。

演示在这里:https://jsfiddle.net/h6tsdq0w/6/

+0

谢谢......但是如果我们在搜索框中输入内容,复选框就会丢失...... ....你可以请修复它 –

+0

@KoteswaraRao修复它https://jsfiddle.net/h6tsdq0w/6/ – aelor

+0

@KoteswaraRao更新小提琴的最新版本。第六个版本是正确的 – aelor

0

更改此:

$(this).css("background-color", "red"); 

分解为:

$(this).css("color", "red"); 
0

我更新了JSFiddle

就应该替换所有的

$(this).css('background-color','rgba(0,0,0,0)'); 

$(this).css('color', 'white'); 

$(this).css('background-color','red'); 

$(this).css('color', 'red'); 
+0

字母不应该改变颜色......字母的背景颜色应该改变...... –