2015-05-08 4 views
2

Я хотел бы показать два разных сообщения в одном поле ввода, но содержимое сообщения для двух popovers одинаково, если на самом деле они должны быть разными. Первый popover - это когда первый символ имеет нижний регистр, а второй popover - при достижении 5 символов. Единственное сообщение, которое я вижу, это нижний регистр для обоих popovers. Ниже мой код:загрузочный контент bootstrap не изменяется

JSFIDDLE

<input type="text" data-placement="bottom" data-trigger="manual" data-content="" name="momlastname" id="momlastname" ng-model="momlastname" maxlength="70" /> 

(function(){ 
     function firstCapital(e) { 
       var inp = String.fromCharCode(e.which); 
       if (/[A-Z]/.test(inp[0])) return true; 
       else return false; 
      }; 
    var message; 
    $('#momlastname').keyup(function (f) { 
        //console.log($(this).val().length); 
     switch ($(this).val().length) { 
    case 1: 
     message = "lower"; 
       break; 
    case 5: 
     message = "max reached"; 
       break; 
     } 


        if ($(this).val().length == 1 && !firstCapital($(this).val())) { 

          $('#momlastname').popover({ 
           trigger:'manual', 
           content:function(){ 
            return "lower letter"; 
           } 
          }); 
          $('#momlastname').popover('show'); 
          $('#momlastname').addClass('error'); 

        } 
        else if ($(this).val().length == 5) { 
          $('#momlastname').popover({ 
           trigger:'manual', 
           content:function(){ 
            return message; 
           } 
          }); 
          $('#momlastname').popover('show'); 
          $('#momlastname').addClass('error'); 
        } 
        else { 
         $('#momlastname').popover('hide'); 
         $('#momlastname').removeClass('error'); 
        } 
       }); 
})(); 

ответ

0

Вы должны вернуть сообщение переменную вместо строки, как «нижний». Существует рабочий пример.

jsfiddle.net/xksfj23e/10/ 
Смежные вопросы