2012-05-21 3 views
0

У меня есть список должны быть удалены, и когда пользователь нажимает на нее, она показывает диалоговое окно JQuery пользовательский интерфейс с кнопками «Подтвердить» и «Отменить»Jquery - Re-Open Dialog после Postback Ajax

Когда пользователь нажимает кнопку «Подтвердить» его 'll вызовите функцию ajax и дайте ему postback

и я хочу закрыть диалог после этого, поэтому я использовал команду и работает, как ожидалось.

Но теперь, когда я удаляю другой список, диалоговое окно пользовательского интерфейса не отображается.

как я могу это решить?

$("#dialog").dialog({ 
       modal: true, 
       bgiframe: true, 
       width: 300, 
       height: 150, 
       resizable: false, 
       autoOpen: false 
      }); 


      function submit_delete(y,z){ //kirim data lewat ajax 

       $.ajax({ 
        type: 'POST', 
        url: 'delete_page.php', 
        data: {fte:y,tipe:z}, 
        success: function(data) { 
         if(z==1){ 
          var divv= '#container_table1'; 
         } else if(z==2){ 
          var divv= '#container_table2'; 
         } else if(z==3){ 
          var divv= '#container_table3'; 
         } 

         $(divv).html(data);//window.setTimeout(function(){location.reload()},3000) 
         $('#dialog').dialog('close'); 
        } 
       }) 
       return true; 
      } 
      //end submit ajax onclick training 



      $(".c_del1").click(function(){ 
       var cc= ($(this).next().val()); 
       var c=cc.split('#') 
       alert(cc); 
       $("#dialog").text('Do You Want to Delete '+c[1]+"?"); 

       var yy = $(this).prop('id'); 


       $("#dialog").dialog('option', 'buttons', { 
        "Confirm" : function() { 

         submit_delete(c[0],1); 

        }, 
        "Cancel" : function() {        
         $(this).dialog("close"); 
        } 
       }); 

       $("#dialog").dialog("open"); 


      }); 

ответ

0

использование on или live во время вызова нажмите событие

$(".c_del1").on('click',function(){ 

       -------------------- 


      }); 

или

$(".c_del1").live('click',function(){ 

       -------------------- 


      }); 
0

привязывается только первый элемент. Попробуйте следующее:

$(".c_del1").each(function(n,el){ 
    $(el).click //... 
}); 
0
function submit_delete(y, z) { 
      $.ajax({ 
       url: 'delete_page.php', type: 'POST', 
       data: { fte: y, tipe: z }, 
       success: function (data) { 
        if (z == 1) { 
         var divv = '#container_table1'; 
        } else if (z == 2) { 
         var divv = '#container_table2'; 
        } else if (z == 3) { 
         var divv = '#container_table3'; 
        } 

        $(divv).html(data); 
        //window.setTimeout(function(){location.reload()},3000); 
        $('.DeleteDialog').dialog("close"); 
       } 
      }); 
     }; 

     //function Deletemessage(id, obj) { }; 
     //Or 
     function Deletemessage(obj) { 
      var c = ($.trim($(obj).next().val())).split('#'); 

      $('<div class="DeleteDialog"></div>').appendTo('body') 
        .html('<div><h6>Do You Want to Delete ' + c[1] + '?</h6></div>') 
        .dialog({ 
         modal: true, title: 'Delete message', zIndex: 10000, autoOpen: true, 
         width: 'auto', modal: true, resizable: false, 
         buttons: { 
          Ok: function() { 
           //$(obj).removeAttr('onclick'); 

           submit_delete(c[0], 1); 

           //$(this).dialog("close"); 
          }, 
          Cancel: function() { 
           $(this).dialog("close"); 
          } 
         }, 
         close: function (event, ui) { 
          $(this).remove(); 
         } 
        }); 
     }; 


     <!--<input type="button" value="Delete" onclick="Deletemessage(1,this);" />--> 
     //Or 
     <input type="button" value="Delete" class="c_del1" onclick="Deletemessage(this);" /> 
Смежные вопросы