我有一个显示Ajax请求表的函数:
function loadExternalBenefits() {
var id_project = $('input[name=id_project]').val();
$.ajax({
url : '/projects/getExternalBenefits',
method : 'POST',
data : {'fk_project' : id_project, 'ajax' : true},
success : function(result) {
$('#panel-external-benefits').find('.right').first().html(result);
$('.delete_external_benefits').on('click', function() {
if(confirm("Voulez-vous vraiment supprimer cette ligne ?")) {
console.log('ok');
var id_item = $(this).data('id');
deleteExternalBenefits(id_item);
} else {
console.log('ko');
}
return false;
});
},
});
}
如果我在成功函数中执行“console.log('something')”,它可以正常工作,但我无法进行警报或确认。问题是我点击了一个必须触发确认窗口的触发器。它系统地显示console.log“ko”,甚至没有显示对话框。
当然,我的控制台没有错误,我在互联网上找不到解决方案,因为大多数时候,这是Ajax返回错误(不成功)的问题。
你有什么想法吗?
@el_tomato:这是console.log(结果)
<table class="classic-table">
<thead>
<tr>
<th>Libellé</th>
<th>Quantité</th>
<th>Prix d'achat</th>
<th>Coeff.</th>
<th>Prix total</th>
<th>Marge</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Une prestation externe</td>
<td class="align-center">3</td>
<td class="price align-right">150,00 €</td>
<td class="price align-right">1.2</td>
<td class="price align-right">540,00 €</td>
<td class="price align-right">90,00 €</td>
<td><button class="delete_external_benefits delete" data-id="24">x</button></td>
</tr>
</tbody>
</table>
答案 0 :(得分:0)
将其放在$(document).ready()
,
$(document.body).on("click", ".delete_external_benefits", function(e) {
if(confirm("Voulez-vous vraiment supprimer cette ligne ?")) {
console.log('ok');
var id_item = $(this).data('id');
deleteExternalBenefits(id_item);
} else {
console.log('ko');
}
return false;
});
代替上面的代码,写下
$('.delete_external_benefits').trigger("click");
我希望这应该有用