JQuery仅返回点击函数

时间:2017-05-08 20:04:01

标签: javascript php jquery ajax checkbox

我正在填充我的数据库中的行列表,其中包含每个用户的复选框(data-uid)。我正在使用data-uid对我的PHP文件进行Ajax调用,这将在检查时公开列表,在未选中时将其设为私有。我的代码似乎很好但是当我检查任何行的任何复选框时,只有第一行受到影响。我做了一个跟踪,我注意到,无论我点击哪个复选框,它都只获得了第一个复选框的值。

这是我的代码。任何帮助表示赞赏:

PHP代码段

<?php
    foreach($results as $row){
?>
        <div class="switch">
            <?php
                if($row['is_active'] == 1){
            ?>
                <input data-uid="<?= $row['listing_uid'] ?>" data-active="1" id="cmn-toggle-1" class="switchBtn cmn-toggle cmn-toggle-round" type="checkbox" checked />
            <?php
                }else if($row['is_active'] == 0){
            ?>
                <input data-uid="<?= $row['listing_uid'] ?>" data-active="0" id="cmn-toggle-1" class="switchBtn cmn-toggle cmn-toggle-round" type="checkbox" />
            <?php
                }
            ?>
            <label for="cmn-toggle-1"></label>
        </div>
<?php
    }
?>

JQuery代码

$(".switchBtn").click(function(e){
    e.preventDefault();
    var data_uid = $(this).attr('data-uid');
    var data_active = $(this).attr('data-active');
    var data_string = 'data_uid='+data_uid+'&data_active='+data_active;
    alert(data_string);
    $.ajax({
        url: '../includes/set_listing.php',
        type: 'POST',
        data: data_string,
        success:function(e){
            window.location.reload();
        },
        error:function(e){
            //alert(e);
        }
    }); 
});

0 个答案:

没有答案