v2.5.2
Giriş yap

PHP Ajax Buton Aktif Pasif Çalışmıyor

spleidanger
439 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Merhaba herkese iyi çalışmalar
ajax ile anlık olarak butona tıklanıldığında pasife alma ve aktife almayı yaptım
ilk önce aktife basınca pasife geçiş yapıyor sonra başka bir satırı pasif iken aktife alabiliyorum fakat
bir satırı aktife alıp sonra tekrar tıklayınca pasife alamıyorum
fazla javascript bilgim yok yardımcı olabilir misiniz

php tarafında bir sıkıntım yok sorunsuz aktif pasife geçiyoruz fakat hemen ardından tıklayınca geçemiyoruz

html kodlarım:

if ($markacek['marka_durum']==1) { ?>
     <button id="aktifbuton<?php echo $markacek['marka_id'] ?>" class="btn btn-success btn-circle btn-sm pasifeal" data-id="<?php echo $markacek['marka_id'] ?>"><i class="fas fa-check"></i></button>
      <div id="newbtn-<?php echo $markacek['marka_id'] ?>"></div>
         <?php }
             else { ?>
            <button id="pasifbuton<?php echo $markacek['marka_id'] ?>" class="btn btn-danger btn-circle btn-sm aktifeal" data-id="<?php echo $markacek['marka_id'] ?>"><i class="fas fa-times"></i></button>
        <div id="newbtn2-<?php echo $markacek['marka_id'] ?>"></div> 
        } ?> 

javascript kodlarım:

$(document).ready(function() {
    $(".pasifeal").click(function() {
        let marka_id = $(this).attr('data-id');
        console.log(marka_id);
        let marka_pasif = "marka_pasif"; 
        //$('#aktifbuton').val(aktifbuton);
        $.ajax({
            type: "POST",
            url: "islem.php",
            data: {marka_pasif:marka_pasif,marka_id:marka_id},
            success: function(e){
                alert(e);
                $('#aktifbuton'+marka_id).remove();
                $('#newbtn-'+marka_id).html('<button id="pasifbuton'+marka_id+'" class="btn btn-danger btn-circle btn-sm aktifeal" data-id="'+marka_id+'"><i class="fas fa-times"></i></button>');

            },
            error: function(e){
                alert(e);
            }
        });

    });
});

$(document).ready(function() {
    $(".aktifeal").click(function() {
        let marka_id = $(this).attr('data-id');
        console.log(marka_id);
        let marka_aktif = "marka_aktif"; 
        //$('#aktifbuton').val(aktifbuton);
        $.ajax({
            type: "POST",
            url: "islem.php",
            data: {marka_aktif:marka_aktif,marka_id:marka_id},
            success: function(e){
                alert(e);
                $('#pasifbuton'+marka_id).remove();
                $('#newbtn2-'+marka_id).html('<button id="aktifbuton'+marka_id+'" class="btn btn-success btn-circle btn-sm pasifeal" data-id="'+marka_id+'"><i class="fas fa-check"></i></button>');

            },
            error: function(e){
                alert(e);
            }
        });

    });
});
Cevap yaz
Cevaplar (1)
abdullahx
1086 gün önce
<?php
$markaDurum = $markacek['marka_durum'] == 1;
?>
<button id="<?= $markacek['marka_id'] ?>" class="btn btn-<?= $markaDurum ? 'success' : 'danger' ?> btn-circle btn-sm aktifpasif"><i class="fas fa-<?= $markaDurum ? 'check' : 'times' ?>"></i></button>
$(function() {
        $(this).on("click", '.aktifpasif', function() {
            let marka_id = $(this).attr('id'),
                marka_stat = $(this).hasClass('btn-success') ? 'marka_pasif' : 'marka_aktif';
            $.ajax('islem.php', {
                type: "POST",
                data: {
                    marka_stat:marka_stat,
                    marka_id:marka_id},
                success: function(e){
                    console.log(e)
                    $(this).toggleClass('btn-success btn-danger')
                    $(this).children('i').toggleClass('fa-check fa-times')

                }.bind(this),
                error: function(e){
                    alert(e);
                }
            });

        });
    });

Yine de markanın aktif veya pasif olduğunu arka planda kontrol etmenizi öneririm. Veri tabanında aktifse pasif, pasif ise aktif yapın

Demo