jquery
  • ruby-on-rails
  • simplemodal
  • 2012-11-12 74 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();}); 
    
    相关问题