单击事件仅在第一次而不是每次触发

Click event trigger only on the first instead every time

我有一个带有一些复选框的 html 页面:

<div class="col-md-2">
        <div class='form-group employe-admin-contactP'>
            <input type="checkbox" class="readymade-checkbox admin" name="" id="admin-${member?.user?.id }" data-id="${member?.user?.id }"
                <g:if test="${member?.isAdmin()}">
                    checked
                </g:if>
            />
            <label for="admin-${member?.user?.id }" name="" class="readymade-label admin"></label>
        </div>
    </div>

每次用户点击复选框 (check/uncheck) 时,我在 js 文件中编写的以下函数必须被触发:

$(document).ready(function() {
    $('.readymade-checkbox.admin:not(checked)').on('click',function(){
        var contact = {id:$(this).data('id') }
        $.ajax({
            url: makeUserAdmin,
            type: "post",
            data: {
                id: JSON.stringify(contact), companyId: $('#teamCompanyId').val()
            },
            success: function (data, textStatus) {
                jQuery("#updateCompanyteam").html(data);
            }
        })
        return false;
    });
})

问题是这个函数只触发一次。

我打赌jQuery("#updateCompanyteam").html(data);会修改复选框“.readymade-checkbox.admin”的HTML区域。您需要一个持续监听器来处理您的点击事件(即使 DOM 被修改也可用),或者刷新您的监听器。 此问题已在 this one.

等多个线程中得到解决

干杯