【问题标题】:Replace Rails Confirm Alert with A Double State Button用双状态按钮替换 Rails Confirm Alert
【发布时间】:2012-04-18 11:32:54
【问题描述】:

在 Rails 3 中的链接中包含 data-confirm 标记会生成通畅的 Javascript,需要有确认警报。例如:

<%= link_to "Destroy", @product, :confirm => "Are you sure?", :method => :delete %>

但是,我想将此行为更改为以下内容:

单击按钮会将其文本更改为“确定?”然后用户必须再次单击它才能执行操作。 (也许超时后文字甚至可以恢复正常)

在 Rails 3.1 应用程序中更改此行为的最佳位置在哪里? (顺便说一句,我正在使用 Twitter Bootstrap,以防有更好的解决方案可以很好地工作)。

【问题讨论】:

    标签: jquery ruby-on-rails-3 twitter-bootstrap


    【解决方案1】:

    这就是你的做法(这是基于Custom rails confirm box (with $.rails.confirm override)

    如果你愿意,这可以放在你的 application.js 中(Rails 3.1)

    $.rails.confirm = function(message, element) 
    { 
        var state = element.data('state');
        var txt = element.text();
        if (!state)
        {
            element.data('state', 'last');
            element.text('Sure?');
            setTimeout(function()
            {
                element.data('state', null);
                element.text(txt);
            }, 2000);
            return false;
        }   
        else
        {
            return true;
        }
    };
    
    $.rails.allowAction = function(element) 
    {
        var message = element.data('confirm'),
            answer = false, callback;
        if (!message) { return true; }
    
        if ($.rails.fire(element, 'confirm')) 
        {
            // le extension.
            answer = $.rails.confirm(message, element);
            callback = $.rails.fire(element, 'confirm:complete', [answer]);
        }
        return answer && callback;
    };
    
    $.rails.handleLink = function(link) 
    {
        if (link.data('remote') !== undefined) 
        {
            $.rails.handleRemote(link);
        } 
        else if (link.data('method')) 
        {
            $.rails.handleMethod(link);
        }
    
        return false;
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-18
      • 2018-09-26
      • 1970-01-01
      • 2020-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多