https://codepen.io/RockTribe/pen/gOgeVJL
Selamlar, herhangi bir programlama dili bilmeden sadece kurcalayarak bir şeyler yapmaya çalışan biriyim. Codepen sitesinden bulduğum müzik listesi oynatıcıya çoklu arama filtreleme bölümü eklemek istedim ama yapamadım. Benzeri bir aparatı normal menülere daha önce eklemiştim ama bu oynatıcıda bilgileri bir dizi içinden çağırıp tekrardan for döngüsü ile dizdirdiği için bir türlü istediğim sonuca ulaşamadım, diye tahmin ediyorum.
Diziyi yeni baştan düzenleyince bir sonuca ulaşılabiliyor ama bu sefer de müziği sıralayıp dosyayı çağırma kodları uyumsuz çalışıyor, her şey karman çorman oluyor. Diziyi input değeri ile arattığımız veri ile yeni baştan dizecek bir kod aramaktayım. Belli bir aşamaya kadar geldim ama tıkandım.
var listAudio = [];
var ara1d = document.getElementById("ara1").value;
for (let i = 0; i < listAudio1.length; i++) {
if (listAudio1[i].name.indexOf(ara1d) >= 0) {
listAudio.push(listAudio1[i]);
}
}
Bu eklemeyi yaparak dizinin ara1 input değerine göre yeni baştan içeren kelime ile dizilmesini sağladım, diye düşünüyorum ama takıldığım yer "ara1d" olarak veriyi text input bölümünden alamıyoruz. Codepen linkinde sadece bunu gösterme amacıyla input value gitar olarak belirledim. Şu an hali hazırda kayıtlar içinde "gitar" olan bilgileri süzüyor ama bu bilgi html bilgisinde yazdığı için yapabiliyor. Bunu text input olarak kullanıcıların çoklu aratıp süzmesini sağlamak istiyorum.
indexOf değerine && ile birlikte gitar ve davul ayrı ayrı seçildiğinde listeleme imkanı olabiliyor. O yüzden 5 tane input bölümü ekledim. Kayıtlara katılan kişilerden enstrümanlara hepsinin çoklu olarak süzülmesine imkan tanımasını istiyorum.
For loop içinde bir kapanış meselesi varmış. Netteki bir sürü çözümü denedim ama çalışan bir tanesine rastlayamadım. Yeni bir dizi olarak "push" edildiği için çalışmadığını tahmin ediyorum ama "ara1d" değişkeni olarak bunun web sitesi üzerinden veri olarak alınması çok basit bir şey olmalı... Tabii bilen biri için basit olmalıdır, ben bir türlü çözemedim. Yardımlarınız için şimdiden teşekkürler.