2015-04-02 7 views
0

У меня проблема, с которой я пытаюсь сделать предупреждение, когда посетитель меняет язык в Интернете, предупреждение создается, но исчезает, потому что это изменение ссылка на:Как я могу сделать оповещение Bootstrap, нажав кнопку для изменения языка

?locale=es || ?locale=en || http://localhost:3000/pages/index?locale=en 

Значения по умолчанию на английском языке, но нажатие на кнопке, оповещение вашей длительности в течение 0,5 секунды и исчезает.

Как я могу предупредить об этом, пока вы его не удалите?

Примечание: Я использую Ruby On Rails.

Моя кнопка:

<li><a href="?locale=en" class="glyphicon glyphicon-share-alt" id="AlertEN"> <%= t('menuLen')%></a></li> 

Код My Alert:

<div class="container">  
     <center> 
      <div class="alert alert-success" id="successChangeEN" role="alert"> 
       <button type="button" class="close" data-dismiss="alert">&times;</button> 
       <strong>Success!</strong> Your Language is now English. 

      </div> 
     </center> 
</div> 

Мои JS:

<script> 
bootstrap_alert = function() {} 
bootstrap_alert.warning = function(message) { 
      $('#alert_placeholder').html('<div class="alert alert-success"><a class="close" data-dismiss="alert">×</a><span>'+message+'</span></div>') 

     } 

$('#AlertEN').on('click', function() { 
      bootstrap_alert.warning('You change the language success!'); 
}); 
</script> 

Я надеюсь, что ответить, спасибо.

ответ

0

Вот вам пример использования куки http://jsfiddle.net/0Lcofr6x/show/

Исходный код здесь: http://jsfiddle.net/0Lcofr6x/

Url не меняется из-за факта скрипку не принимает фиктивную строку запроса, но поверьте мне, вы перемещаетесь на одной странице (перезарядка).

$(document).ready(function() { 

    $('#AlertEN').attr('href', window.location.href);  
    bootstrap_alert = function() {} 
    bootstrap_alert.warning = function(message) { 
     $('#alert_placeholder').html('<div class="alert alert-success"><button class="close" data-dismiss="alert">×</button><span>'+message+'</span></div>'); 
     $('#alert_placeholder .close').unbind("click"); 
     $('#alert_placeholder .close').on('click', function() { $('#alert_placeholder').hide(); 
                   $('.alert-success').show(); 
                    }); 

      } 

    $('#AlertEN').on('click', function() {  
       $.cookie("changed_locale", "You change the language success!"); 


    }); 

    $('.alert-success').hide(); 
    if ($.cookie("changed_locale") != null) 
    { 
     bootstrap_alert.warning('You change the language success!'); 
    } 
    $.removeCookie("changed_locale"); 
}); 
+0

По-видимому, это правильно, но не отображает предупреждение. – AlexMp

+0

http://gyazo.com/b2b9ca2922379ab49f79312acabd65e8 Это скриншот для Интернета, нажимая кнопку buttom – AlexMp