Doğru Cevap
-
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
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
<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
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
ç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
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
-
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
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ış
-