純粋なJavaScriptの値に基づいて<ul>
をフィルタリングする入力をしようとしています。それはonkeyupで動的にフィルタリングし、liを取得し、内側の要素名とフィルタテキストを比較する必要があります。ここで検索関数filter liの純粋なJs
は私の関数である。
var searchFunction = function searchFeature (searchString) {
console.log("Is my search feature working?");
//Get the value entered in the search box
var inputString = document.getElementById('inputSearch');
var stringValue = inputString.value;
//Onkeyup we want to filter the content by the string entered in the search box
stringValue.onkeyup = function() {
//toUpperCase to make it case insensitive
var filter = stringValue.toUpperCase();
//loop through all the lis
for (var i = 0; i < eachStudent.length; i++) {
//Do this for all the elements (h3, email, joined-details, date)
var name = eachStudent[i].getElementsByClassName('student-details')[1].innerHTML;
//display all the results where indexOf() returns 0
if (name.toUpperCase().indexOf(filter) == 0)
eachStudent[i].style.display = 'list-item';
else
eachStudent[i].style.display = 'none';
}
}}
検索バーのための私のHTML:
<div class="student-search">
<input id="inputSearch" placeholder="Type name here.." type="text"> <button>Search</button></div>
李さんのための私のHTML:
<ul class="student-list">
<li class="student-item cf">
<div class="student-details">
<img class="avatar" src="#">
<h3>John Doe</h3>
<span class="email">[email protected]</span>
</div>
<div class="joined-details">
<span class="date">Joined 01/01/14</span>
</div>
</li>
私はフィルタリングしたいと思います入力の値に基づいてすべての要素(名前、電子メール、結合日)。 残念ながら、私には何の誤りもなく、単純に機能しません。私のコードでhttp://codepen.io/Delano83/pen/qaxxjA?editors=1010
任意のヘルプやコメントが非常に高く評価されていますにconsole.logプリント...
はここcodepenを行くので 機能が正しく起動されます。
jsfiddleを作成する可能性はありますか? –
確かに、ちょっと待ってください... – delano
ここのコードペインです:http://codepen.io/Delano83/pen/qaxxjA?editors=1010 – delano