单击事件仅在第一次而不是每次触发
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.
等多个线程中得到解决
干杯
我有一个带有一些复选框的 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.
干杯