JSFiddle - React, Tailwind, and code Playground
HTML
<div class="data" data-value="auto"> abcd </div>
<div class="data" data-value="simple tab,block"> acd </div>
<div class="data" data-value="auto"> abd </div>
<div class="data" data-value="block"> abcde </div>
<div class="null-data"> type the correct value </div>
<input class="search-text" name="keyword" type="text" id="search-keyword" placeholder="search">
CSS
* {margin: 0px; padding: 0px;}
body {background-color: rgb(248,248,248)}
#nav {
list-style:none;
}
#nav li {
float:left;
display:block;
width:100px;
position:relative;
z-index:500;
}
/* this is the parent menu */
#nav li a {
display:block;
padding:15px;
color:#000;
border: 1px solid transparent;
}
#nav li a:hover {
border: 1px solid black;
}
#nav a.open {
color:#fff;
background-color: pink;
}
#nav ul {
position:absolute;
display:none;
padding:0;
list-style:none;
}
#nav ul li {
width:100px;
float:left;
}
#nav ul a {
display:block;
height:15px;
padding: 15px;
color:#666;
}
#nav ul a:hover {
text-decoration:underline;
}
.active{
background-color: pink;
}
JavaScript
$('#search-keyword').on( "keyup", function() {
$('.null-data').hide();
if($(this).val()) {
var input = $(this).val().toLowerCase();
console.log(input);
$(".data").hide();
$(".data[data-value*='"+ input +"']").show();
if(!$('.data:visible').get(0)){
$('.null-data').show();
}
}else{
$('.null-data').show();
}
});