0

Ajax 调用捕获事件在响应视图上的数据表插件内的 Bootstrap 开关上不起作用。

$('.switch').bootstrapSwitch();
$('.switch').on('switchChange.bootstrapSwitch', function () 
{
    var id =$(this).attr("attrid");  
    $.ajax({
        type:'POST',
        url:'<?php echo base_url();?>parties/party_status_ajax',
        data:{'id':id,'checked':$(this).bootstrapSwitch('state')},
        success: function (data)
        {
            $('.close').click();
            $('#successmessage').html(data); 
        }
    });
 });
4

1 回答 1

0

问题可能是您将事件绑定到该代码运行时 html 中不存在的元素,您需要使用委托事件才能将其绑定到数据表的后续元素

像下面的东西

$( "#dataTable tbody" ).on( "switchChange.bootstrapSwitch", ".switch", function() {
   var id =$(this).attr("attrid");  
    $.ajax({
        type:'POST',
        url:'<?php echo base_url();?>parties/party_status_ajax',
        data:{'id':id,'checked':$(this).bootstrapSwitch('state')},
        success: function (data)
        {
            $('.close').click();
            $('#successmessage').html(data); 
        }
    });
});
于 2016-08-22T21:43:40.930 回答