https://jsfiddle.net/Lh9efLxm/
我有一些实时搜索脚本的麻烦。
我有一些 div 作为"行"和一些 p 作为"列"声明
输入fild为 #filter 应隐藏所有"行" (div)没有相关性
$('#results div').hide();
但似乎我有一些想念。
有人可以帮助我吗? THX
答案 0 :(得分:4)
在您的脚本中,隐藏并显示#results div
循环中的所有each
而不是特定的this
。因此,请将选择器更改为 $("#filter").keyup(function() {
// Retrieve the input field text and reset the count to zero
var filter = $(this).val(),
count = 0;
// Loop through the comment list
$('#results div').each(function() {
// If the list item does not contain the text phrase fade it out
if ($(this).text().search(new RegExp(filter, "i")) < 0) {
$(this).hide(); // MY CHANGE
// Show the list item if the phrase matches and increase the count by 1
} else {
$(this).show(); // MY CHANGE
count++;
}
});
});
。
另外,你忘了把jQuery包含在小提琴中。
.header {
display: flex;
}
.header p {
flex: 1;
font-weight: bold;
}
.results {
display: flex;
}
.results p {
flex: 1;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="filter" type="text">
<div id="header">
<div class="header">
<p>ID</p>
<p>Manufacturer</p>
<p>Type</p>
<p>PS</p>
</div>
</div>
<div id="results">
<div class="results">
<p>1</p>
<p>Toyota</p>
<p>C 200</p>
<p>114</p>
</div>
<div class="results">
<p>2</p>
<p>Mercedes</p>
<p>C 220</p>
<p>144</p>
</div>
</div>
&#13;
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ --user-data-dir=/tmp/foo --unsafely-treat-insecure-origin-as-secure=http://www.your.site
&#13;
答案 1 :(得分:1)
您可以使用过滤器功能在div中搜索。
jQuery("#myInput").on("keyup", function() {
var value = $(this).val().toLowerCase();
jQuery("#myDIV *").filter(function() {
$(this).toggle($(this).text().toLowerCase().indexOf(value) > -1)
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="myInput" type="text" placeholder="Search..">
<div id="myDIV">
<p>I am a paragraph.</p>
<div>I am a div element inside div.</div>
<button>I am a button</button>
<button>Another button</button>
<p>Another paragraph.</p>
</div>
在这里
答案 2 :(得分:0)