-
Üyelik
12.05.2014
-
Yaş/Cinsiyet
47 / E
-
Meslek
Memur
-
Konum
Denizli
-
Ad Soyad
O** A**
-
Mesajlar
226
-
Beğeniler
42 / 53
-
Ticaret
8, (%100)
Herkese merhaba,
Kullandığım js kodu:
$('#btnSubmit').click(function() {
$('.row-select input:checked').each(function() {
var id, name;
id = $(this).closest('tr').find('.id').html();
name = $(this).closest('tr').find('.name').html();
Mail_Check(name,id);
})
})
Butonu tıkladığımda tablodaki checkbox işaretli olan alanlarda kod çalışıyor ve Mail_Check fonksiyonunu çalıştırıyor.
Buton tıklandığında tabloda checkbox işaretli olan alanların hepsinde bu kod çalışıyor.
En üstten başlayıp, tablodaki diğer satırlarda kodun tek tek çalışmasını nasıl sağlayabilirim. Bu haliyle sunucuyu zorluyor. İlk satırda çalışıp diğer satırlarda tek tek Mail_Check fonksiyonu çalışacak.
Yardımcı olanlara şimdiden teşekkürler.
-
Üyelik
08.05.2015
-
Yaş/Cinsiyet
28 / E
-
Meslek
Developer
-
Konum
Samsun
-
Ad Soyad
İ** Ş**
-
Mesajlar
1020
-
Beğeniler
321 / 320
-
Ticaret
19, (%100)
$('.row-select input:checked').each(function() {
Satırını
$('.row-select input[type=checkbox]').change(function() {
Yapmanız yeterlidir.. Böylelikle checkboxa tıklandığında işlem yapacaktır.. Sadece aktif olduğunda işlem yapmak istiyorsanız eğer bu if koşulunu eklemeniz yeterlidir ;
if( this.checked )
{
alert("aktif");
} else {
alert("deaktif");
}
Tam kod ise ;
$('.row-select input[type=checkbox]').change(function() {
if( this.checked )
{
var id, name;
id = $(this).closest('tr').find('.id').html();
name = $(this).closest('tr').find('.name').html();
Mail_Check(name,id);
}
});
id = $(this).closest('tr').find('.id').html();
Satırı çalışmaz ise eğer $(this) dediğiniz için checkbox içerisinde arayacaktır. Bunun içinde, $(this).parent() // bir önce ki div, parent().parent() // 2 önce ki div diyerek gerekli bölüme ulaştırabilirsiniz. Umarım yardımcı olur,
Kolay gelsin :rolleyes:
-
Üyelik
12.05.2014
-
Yaş/Cinsiyet
47 / E
-
Meslek
Memur
-
Konum
Denizli
-
Ad Soyad
O** A**
-
Mesajlar
226
-
Beğeniler
42 / 53
-
Ticaret
8, (%100)
Yanıtınız için teşekkür ederim. Ancak benim tabloda her satırda fonksiyonu çalıştıran butonum zaten var ve bu butona tıklayarak tek tek çalıştırabiliyorum.
Benim amacım toplu işlem gibi birşey yapmak. Üstte tümünü seç checkbox'ı işaretleyip tüm checkboxları seçtirmek, ardından farklı bir buton ile yukarıdan aşağıya sıra ile üstteki fonksiyonu çalıştırtmak.
Benim verdiğim kod tüm satırlarda çalışmaya başlıyor. Ben butonu tıklayınca işaretli ilk satırda fonksiyon çalışacak, sonra 2. satıra geçecek, buradaki işlem bitince de sonraki satır.
Bu fonksiyon ile veritabanındaki ilgili alana hatalı olan mail adresleri için veri aktarıyorum. Tümü aynı anda çalışınca sorun yaratıyor.
Umarım anlatabilmişimdir. İlginiz için teşekkür ederim.
-
Üyelik
12.05.2014
-
Yaş/Cinsiyet
47 / E
-
Meslek
Memur
-
Konum
Denizli
-
Ad Soyad
O** A**
-
Mesajlar
226
-
Beğeniler
42 / 53
-
Ticaret
8, (%100)
Merhaba, ilginiz için tekrar teşekkür ederim. Ancak verdiğiniz bağlantıdaki kodlarda işe yaramadı. Sanırım ben derdimi anlatamadım. checkboxların sıra ile işaretlenmesini vs istemiyorum.
İşaretlediğim checkbox larda sıra ile işlem yapılmasını istiyorum. İşlem sırasında fonksiyonda ajax var. ajax tamamlandığında tabloda sonraki işaretli satıra geçecek.
-
Üyelik
12.05.2014
-
Yaş/Cinsiyet
47 / E
-
Meslek
Memur
-
Konum
Denizli
-
Ad Soyad
O** A**
-
Mesajlar
226
-
Beğeniler
42 / 53
-
Ticaret
8, (%100)
Sayın edcsmile, verdiğiniz kodları kullanarak üst mesajlarımda belirttiğim işlemi gerçekleştirdim.
Kullandığım kod
<script>
$(document).ready(function() {
$('#clickMe').click(function(){
cagir();
});
});
var total = 15;
//$(".row-select input[type=checkbox]").length;
var a = 0;
var next = false;
function cagir() {
$(".row-select input[type=checkbox]").eq(a).attr("checked", "checked");
var checkedIds = $(".row-select .checkbox:checked").map(function() {
Mail_Check(this.name,this.id);
})
$(".row-select input[type=checkbox]").eq(a).attr("checked", false);
a++;
setTimeout(function() {
if( a < total )
{
cagir();
}
}, 8000);
}
</script>
Bu kod sonrası, kendi sitemde soru soran üyelere "biraz siz uğraşın" cümlesini söylediğim aklıma geldi nedense :confused:
-
Üyelik
12.05.2014
-
Yaş/Cinsiyet
47 / E
-
Meslek
Memur
-
Konum
Denizli
-
Ad Soyad
O** A**
-
Mesajlar
226
-
Beğeniler
42 / 53
-
Ticaret
8, (%100)
Tekrar merhaba,
Üstteki işlemin güncellenmesi gerekti. setTimeout yerine, Mail_Check fonksiyonu tamamlandıktan sonra alt satırdan devam etmesini nasıl sağlayabilirim.
önceki kodda 8 saniye olarak belirlendi, bazı sorgular 1 saniye, bazıları 5 saniye sürüyor. Bu durumda bekleme oluyor. Bazı sorgular da üst üste 20 saniye sürünce de yığılma oluyor.
-
Üyelik
14.01.2018
-
Yaş/Cinsiyet
52 / E
-
Meslek
Programcı
-
Konum
İzmir
-
Ad Soyad
S** S**
-
Mesajlar
319
-
Beğeniler
4 / 111
-
Ticaret
0, (%0)
Javascripte hoş geldiniz.
işleyeceğin tüm satırları id ile işaretle. Yani bunların bir işleme sırası olsun.
Mail check bu idi ile çalışsın ve içinde şu anda çalışan id diye bir değişken bilgisi olsun.
ajax request in success döndürdüğünde mail_check oradan çalışşsın bir sonraki id yi alsın.
Timeout la şunla bunla olmaz.
Promises ile yapabilirsin.