Php 用于批准和拒绝的jquery复选框

Php 用于批准和拒绝的jquery复选框,php,jquery,laravel,checkbox,Php,Jquery,Laravel,Checkbox,我已经创建了一个逻辑,在这个逻辑中我必须批准和拒绝用户 但问题是,当我现在批准2个用户,但我必须拒绝1个用户,当我这样做时,其他用户的复选框(批准)将被取消选中 当我使用“id”时,逻辑只适用于第一个条目,当使用“class”时,它同时适用于所有条目 批准和拒绝的正确逻辑是什么 $('.approve_chk').on('click', function () { var pswd = prompt("enter password to confirm"); if (pswd =

我已经创建了一个逻辑,在这个逻辑中我必须批准和拒绝用户

但问题是,当我现在批准2个用户,但我必须拒绝1个用户,当我这样做时,其他用户的复选框(批准)将被取消选中

当我使用“id”时,逻辑只适用于第一个条目,当使用“class”时,它同时适用于所有条目

批准和拒绝的正确逻辑是什么

$('.approve_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'approve') {
        alert('APPROVED');
    } else {
        alert('NOT APPROVED');
        $(".approve_chk").prop('checked', false);
    }
});

$('.reject_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'reject') {
        alert('REJECTED');
        $(".approve_chk").prop('checked', false);

    } else {
        alert('NOT REJECTED');
        $(".reject_chk").prop('checked', false);
    }
});

我估计您的html有多个
。批准\u chk
。拒绝\u chk
。您必须确保正在为当前复选框设置道具。现在,您的代码将使用这些类更新所有复选框

$('.approve_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'approve') {
        alert('APPROVED');
    } else {
        alert('NOT APPROVED');
        this.prop('checked', false);
    //  ^ Refers to the clicked element.
    }
});

似乎您有多个相同的
,所以使用
$(this)

工作代码段:

$('.approve_chk')。在('click',函数(){
var pswd=提示(“输入密码以确认”);
如果(pswd==“批准”){
警报(“批准”);
}否则{
警报(“未批准”);
$(this.prop('checked',false);
}
});
$('.reject_chk')。在('click',函数(){
var pswd=提示(“输入密码以确认”);
如果(pswd==‘拒绝’){
警报(“拒绝”);
$(this).closest('tr').find('.approve_chk').prop('checked',false);
}否则{
警报(“未拒绝”);
$(this.prop('checked',false);
}
});

批准
拒绝
批准
拒绝

生成每行的动态ID示例ID=“example1”ID=“example2”ID=“example3”等等,然后单击传递该行的编号onClick=“myfunction(1)”onClick=“myfunction(2)”onClick=“myfunction(3)”等等。然后在你的函数中,点击并用“example”(你的id前缀)表示传递的数字

您需要通过引用数据id值来选择要取消选中的复选框:

$('.approve_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'approve') {
        alert('APPROVED');
    } else {
        var thisId = $(this).data(id);
        alert('NOT APPROVED');
        $(".approve_chk[data-id='" + thisId + '").prop('checked', false);
    }
});

$('.reject_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'reject') {
        alert('REJECTED');
        var thisId = $(this).data(id);
        $(".approve_chk[data-id='" + thisId + '").prop('checked', false);

    } else {
        alert('NOT REJECTED');
        $(".reject_chk").prop('checked', false);
    }
});

添加html代码,以便我们可以看到确切的问题。您必须使用
$(this)
无论如何,当我在表中查看mysql数据时,表中有两个复选框
$('.approve_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'approve') {
        alert('APPROVED');
    } else {
        var thisId = $(this).data(id);
        alert('NOT APPROVED');
        $(".approve_chk[data-id='" + thisId + '").prop('checked', false);
    }
});

$('.reject_chk').on('click', function () {
    var pswd = prompt("enter password to confirm");
    if (pswd == 'reject') {
        alert('REJECTED');
        var thisId = $(this).data(id);
        $(".approve_chk[data-id='" + thisId + '").prop('checked', false);

    } else {
        alert('NOT REJECTED');
        $(".reject_chk").prop('checked', false);
    }
});