使用bootstrap模式,显示它,但突然它隐藏了

时间:2015-05-07 10:06:52

标签: jquery html ajax twitter-bootstrap bootstrap-modal

好吧,我有一个Jquery Datatables,其中一些按钮链接到一个模态(仅用于确认操作)。当我单击按钮时,模态会出现一秒钟或更短时间,但随后会突然消失。按钮的动作甚至我没有确认模态的动作。所以,这个问题实际上只是视觉上的。

我的JS,我用按钮加载我的表:

$(document).ready(function() {

  var miTabla = $('#miTabla').DataTable({
           'processing': true,
           'serverSide': true,
           'ajax': 'php/cargar-publi.php',
           'language': {
               'sProcessing': 'Procesando...',
               'sLengthMenu': 'Mostrar _MENU_ registros',
               'sZeroRecords': 'No se encontraron resultados',
               'sEmptyTable': 'Ningún dato disponible en esta tabla',
               'sInfo': 'Mostrando registros del _START_ al _END_ de un total de _TOTAL_ registros',
               'sInfoEmpty': 'Mostrando registros del 0 al 0 de un total de 0 registros',
               'sInfoFiltered': '(filtrado de un total de _MAX_ registros)',
               'sInfoPostFix': '',
               'sSearch': 'Buscar:',
               'sUrl': '',
               'sInfoThousands': ',',
               'sLoadingRecords': 'Cargando...',
               'oPaginate': {
                   'sFirst': 'Primero',
                   'sLast': 'Último',
                   'sNext': 'Siguiente',
                   'sPrevious': 'Anterior'
               },
               'oAria': {
                   'sSortAscending': ': Activar para ordenar la columna de manera ascendente',
                   'sSortDescending': ': Activar para ordenar la columna de manera descendente'
               }
           },
           'columns': [
           {
               'data': 'IdContenido', "visible" : false
           }, {
               'data': 'titulo'
           },{
               'data': 'tipo'
           },{
               'data': 'fecha_inicio'
           },{
               'data': 'fecha_modificacion'
           },{
               'data': 'contenido', "visible" : false
           },{
               'data': 'precio'
           },{
               'data': 'estado'
           },{
               'data': 'url' , "visible" : false
           },{
               'data': 'rangoLongitud'
           },{
               'data': 'palabraClave'
           },{
               'data': 'cliente'
           },{
               'data': 'medio'
           }, {
               'data': 'editor'
           },  {
               'data': 'IdContenido',
               /*añadimos las clases editarbtn y borrarbtn para procesar los eventos click de los botones. No lo hacemos mediante id ya que habrá más de un
               botón de edición o borrado*/
               'render': function(data) {
                   return '<a data-toggle="modal" data-target="#basicModal"  class="btn btn-danger btn-xs borrarbtn glyphicon glyphicon-remove" href=php/borrar_articulo.php?id_contenido=' + data + '>Borrar</a>';
               }
           }]
       });

我的JS,我有班级borrarbtn的按钮事件:

$('#miTabla').on('click', '.borrarbtn', function(e) {

                    var nRow = $(this).parents('tr')[0];
           var aData = miTabla.row(nRow).data();
           IdContenido = aData.IdContenido;


       });

最后我的模态功能:

 $('#basicModal').on('click','#confBorrar',function(e){


           $.ajax({

               type: 'POST',
               dataType: 'json',
               url: 'php/borrar_articulo.php',
               data: {
                   idContenido: IdContenido
               },
               error: function(xhr, status, error) {
                   var $mitabla =  $("#miTabla").dataTable( { bRetrieve : true } );
                  $mitabla.fnDraw();

               },
               success: function(data) {

                   var $mitabla =  $("#miTabla").dataTable( { bRetrieve : true } );
                  $mitabla.fnDraw();


               },
               complete: {

               }
           });
        $('#tabla').fadeIn(100);
       });

所以,问题是永远不会达到模态,但是ajax调用它做得很好。

我的模态html:

<div class="modal fade" id="basicModal" name="basicModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">

            <h4 class="modal-title" id="myModalLabel">Borrar articulo</h4>
            </div>
            <div class="modal-body">
                <h3>¿Desea borrar el articulo?</h3>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
                <button type="button" type="submit" id="confBorrar" name="confBorrar" data-dismiss="modal" class="btn btn-primary aceptarBorrado">Si</button>
        </div>

    </div>
  </div>
</div>

我真的不知道它是什么问题。 谢谢你的回答

1 个答案:

答案 0 :(得分:1)

试试这个:

    $('#basicModal').on('click','#confBorrar',function(e){

              event.preventDefault();

               $.ajax({

                   type: 'POST',
                   dataType: 'json',
                   url: 'php/borrar_articulo.php',
                   data: {
                       idContenido: IdContenido
                   },
                   error: function(xhr, status, error) {
                       var $mitabla =  $("#miTabla").dataTable( { bRetrieve : true } );
                      $mitabla.fnDraw();

                   },
                   success: function(data) {

                       var $mitabla =  $("#miTabla").dataTable( { bRetrieve : true } );
                      $mitabla.fnDraw();


                   },
                   complete: {

                   }
               });
            $('#tabla').fadeIn(100);
           });