2010-12-19 49 views
0

設置後:CakePHP的是,jQuery 1.8.7,cakephp.bee.pl AJAX輔助鏈接不開jQuery的對話框形式保存

我是誰設置加載通過Ajax的所有頁的網站。在管理頁面中,我加載'用戶/索引'操作並加載用戶。我插入了一個鏈接來打開一個jQuery對話框來添加一個新用戶。一旦管理員點擊保存,它會將數據發送到服務器,保存用戶並返回'索引'視圖以更新管理頁面'div'。到現在爲止沒有問題。問題是更新後的新更新的div中的鏈接,而不是打開一個jQuery對話框或刪除用戶,並通過Ajax重新回到索引視圖,他們將瀏覽器重定向到'索引'視圖,但在新的頁面,而不是通過AJAX加載。

這裏是我的對話框創建代碼:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('a[name=modal]').click(function (e){ 
      e.preventDefault(); 
      var $link = $(this); 
      var $form = $link.attr('formid');    
      // var $dv = $body.append('<div id="dlg"></div>'); 

     $('#useDlg').load($link.attr('href')).dialog({ 
     autoOpen: false, 
     modal: true, 
     title: $link.attr('title'), 
     resizable: false, 
     width: 370, 
     height: 350, 
     buttons: { 
      "Close": function(){ 
       $(this).dialog("close"); 
       //$(this).dialog("destroy"); 
      }, 
      " Save ... ": function(){     
       $.ajax({ 
        async: true, 
        type: 'POST', 
        url: $link.attr('href'), 
        data: $("form").serialize(), 
        dataType: "html", 
        success: function (response, json){ 
         //alert(response); 
         $('#viewUsers').empty().html(response); 
         $('#useDlg').dialog("close"); 
         // $('#useDlg').dialog("destroy"); 
        } 
       }); 
      } 
     } 
     }); 
    }); 
}); 

    $('a[name=modal]').click(function(){ 
     $('#useDlg').dialog('open'); 
    }); 

我使用的對話框多次,也能修改用戶配置文件。用戶表有兩個與用戶相關的鏈接。查看配置文件和刪除。視圖配置文件用用戶配置文件打開jquery對話框,刪除刪除用戶並通過ajax返回索引操作,以更新管理頁面的用戶部分。

有沒有人有任何想法爲什麼在用戶div被刷新後,查看配置文件的鏈接不會被捕獲?

預先感謝您, 丹尼斯

回答

1

這很難說準確,因爲你沒有張貼您的標記代碼,但我懷疑發生了什麼是「點擊」處理程序丟失,當您重新加載HTML表單在load()調用中。

嘗試更改'click'處理程序'活'的動態重新綁定。即是這樣的:

$("a[name=modal]").live("click", function(event) { 
    // do stuff here... 
}); 

請參閱該文檔的「活」在這裏:http://api.jquery.com/live/

0

謝謝Mikesname ...這奏效了......對別人誰可能會遇到這種問題,我也去掉了('a [name = modal]')。click(function(){('#useDlg')。dialog('open'); });

並且只添加了$('#useDlg')。對話框('open');到第一次點擊事件..沒有第二次修改事件仍然不會觸發後重新加載,它會導致無法預料的結果在頁面以及...

我會設置這個答案,但我真的沒有看到如何:)

關於, denis