Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

jQuery ile Tümünü seç

Alttaki yapıda Tümünü Seç ile tüm kategorileri Kategoriyi Seç ile de ilgili kategorileri nasıl seçtirebilirim?


<ul>
 <li><input type="checkbox" name="tumunu_sec"> <label>Tümünü Seç</label>
  <ul>
   <li><input type="checkbox" name="kategori_sec"> <label><strong>Kategoriyi Seç</strong></label>
    <ul>
     <li><input type="checkbox" name="kategori[]" value="1"> <label>Kategori 01 A</label></li>
     <li><input type="checkbox" name="kategori[]" value="2"> <label>Kategori 01 B</label></li>
     <li><input type="checkbox" name="kategori[]" value="3"> <label>Kategori 01 C</label></li>
    </ul>
   </li>
   <li><input type="checkbox" name="kategori_sec"> <label><strong>Kategoriyi Seç</strong></label>
    <ul>
     <li><input type="checkbox" name="kategori[]" value="4"> <label>Kategori 02 A</label></li>
     <li><input type="checkbox" name="kategori[]" value="5"> <label>Kategori 02 B</label></li>
     <li><input type="checkbox" name="kategori[]" value="6"> <label>Kategori 02 C</label></li>
    </ul>
   </li>
  </ul>
 </li>
</ul>
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • sevketbulamaz adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    56 cevap - 0 soru
    kısa bir kod.

    $('input[name="tumunu_sec"],input[name="kategori_sec"]').bind('click', function(){
        var check_status = $(this).is(':checked');
        $('input[type="checkbox"]', $(this).parent('li')).attr('checked', check_status);
    });
    
    • zyber adlı üyenin fotoğrafı zyber
      http://www.upload.gen.tr/d.php/www/rlth9023/tumunu_sec.rar.html

      bu çok iyiydi ancak çalışmadı ya da ben çalıştıramadım.
      dosyayı yukardaki bağlantıya yükledim.
      11 yıl önce yazılmış
    • sevketbulamaz adlı üyenin fotoğrafı sevketbulamaz
       <li><input type="checkbox" name="select_all"> <label>Select all</label>
        <ul>
         <li><input type="checkbox" name="select_category"> <label><strong>Select Category</strong></label>
      


      jquery kodundaki selectorlerde tumunu_sec ve kategori_sec var bureda ise ingilizcesi select_all ve select_category var. selector kullanımını kontrol et ve yeniden düzenle. çalışacaktır.
      11 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Evet çalıştı çok teşekkür .
      Soruyu isimleri ingilizce yapıp yabancı bir forumda da sormuştum kodlar karışmış.

      Tekrar teşekkürler.
      Bu bana altın gibi geldi.
      11 yıl önce yazılmış
    • sevketbulamaz adlı üyenin fotoğrafı sevketbulamaz
      çalışmana biraz ara verip(birkaç saat yeterli olur) jquery seçicileri ve önemli fonksiyonları üzerine biraz daha eğilirsen göreceksin ki bu ve bunun gibi kuralları belirlemek çok kolay gelecektir. dün yapmış olduğun kodun aslında daha kolay yolu olduğunu anlamak üzücü değil tam tersine elindeki gümüşü altına çevirmiş hissi verecektir sana :) kolay gelsin çalışmanda.
      11 yıl önce yazılmış
    • zyber adlı üyenin fotoğrafı zyber
      Teşekkürler.
      Jquery'i yeni keşfettim sayılır ama harika kısacık kodlarla çok büyük işler yapılıyor.
      Flash arşivimi bile rafa kaldırdım artık flash yerine bile jquery kullanıyorum ;)

      Bu arada bu forumda sorduğum sorulardan şimdiye kadar aldığım cevapların en net, kısa ve şık cevabı sanırım buydu.
      Teşekkürler.
      11 yıl önce yazılmış

Cevaplar

  • kiirpi adlı üyenin fotoğrafı
    11 yıl önce yazılmış
    26 cevap - 0 soru
    Her kategoride farklı olacak şekilde checkbox elemanlarına birer css class'ı verelim.
    <ul>
     <li><input type="checkbox" name="tumunu_sec" class="tumunu_sec"> <label>Tümünü Seç</label>
      <ul>
       <li><input type="checkbox" name="kategori_sec" class="kategori1_sec"> <label><strong>Kategoriyi Seç</strong></label>
        <ul>
         <li><input type="checkbox" name="kategori[]" value="1" class="kategori1"> <label>Kategori 01 A</label></li>
         <li><input type="checkbox" name="kategori[]" value="2" class="kategori1"> <label>Kategori 01 B</label></li>
         <li><input type="checkbox" name="kategori[]" value="3" class="kategori1"> <label>Kategori 01 C</label></li>
        </ul>
       </li>
       <li><input type="checkbox" name="kategori_sec" class="kategori2_sec"> <label><strong>Kategoriyi Seç</strong></label>
        <ul>
         <li><input type="checkbox" name="kategori[]" value="4" class="kategori2"> <label>Kategori 02 A</label></li>
         <li><input type="checkbox" name="kategori[]" value="5" class="kategori2"> <label>Kategori 02 B</label></li>
         <li><input type="checkbox" name="kategori[]" value="6" class="kategori2"> <label>Kategori 02 C</label></li>
        </ul>
       </li>
      </ul>
     </li>
    </ul>
    

    SOnrasında jquery ile işlemlere geçebiliriz,
    $(function(){
    // 1.kategori elemanları seçer
    $('input.kategori1_sec').bind('click',function(){
        $('input.kategori1').attr('checked',$(this).attr('checked'));
    });
    // 2.kategori elemanları seçer
    $('input.kategori2_sec').bind('click',function(){
        $('input.kategori2').attr('checked',$(this).attr('checked'));
    });
    // tümünü seç
    $('input.tumunu_sec').bind('click',function(){
        $('input.kategori2').attr('checked',$(this).attr('checked'));
        $('input.kategori1').attr('checked',$(this).attr('checked'));
    });
    
    
    });
    


    bu şekilde yapılabilir. İstersen checkbox'daki değerler üzerinden de gidebilirsin ama böylesi bence daha iyi.
    • zyber adlı üyenin fotoğrafı zyber
      kategori ismi vermek istemiyorum çünkü çok çok kategori var boyut daha fazla artmaması lazım.
      Kategori ya da id vermek yerine parent next child ile istenen şekil sanırım verilir.
      11 yıl önce yazılmış