jquery
  • ruby-on-rails
  • simplemodal
  • 2012-11-12 33 views 0 likes 
    0

    我有一個日曆,點擊一天即可通過簡單的模態彈出窗體添加事件。我使用的是Eric Martin的jquery插件,我似乎無法在不停止ajax響應的情況下關閉窗體。Jquery SimpleModal關閉保存

    這裏是我的代碼:

    function simple_dialog_link(request, title) { 
        $.get(request, function(data) { 
        $.modal("<div class='modal'><div class='bar' >"+title+"</div><div class='inside'>"+data+"</div></div>"); 
    
        $(".modal").draggable({ handle: ".bar" }); 
    
        $("input.save").live("click", function(){ 
          $.modal.close(); 
        }); 
        }); 
    }; 
    

    這完全加載的形式和不關閉窗口,但隨後重定向到我的html路徑我的控制之下:

    def update 
        @log_entry = LogEntry.find(params[:id]) 
        @athlete = User.find_by_id(@log_entry.athlete_id) 
        @log_entry.update_attributes(params[:log_entry]) 
        @date = @log_entry.date.to_s 
        @cal_class = LogEntry.get_class_name(@date) 
        @entries = LogEntry.cal_entry(@date, @athlete.id) 
        respond_to do |format| 
        format.html { redirect_to coaches_path } 
        format.js 
        end 
    end 
    

    我至今嘗試過是在模式關閉函數下添加一個return: false,這會關閉模式窗口,但無法更新日曆或數據庫,從而在將窗體提交給控制器之前將其切割。我需要一些函數來關閉窗口而不中斷我的ajax函數。奇怪的是,當我刪除$.modal.close();函數時,表單提交正常並更新日曆,只是將模式窗口打開。我需要這個功能,但窗口關閉。

    回答

    0

    好吧我想通了,顯示了我對這一切的瞭解!我所要做的就是將關閉函數放在ajax中:完成回調。

    $(".edit_log_entry").bind('ajax:complete', function() {$.modal.close();}); 
    
    相關問題