2016-09-28 2 views
1

Я хочу, чтобы пользователи не вводили Пробел ключ input[type='text'], когда он пуст. И если его не после ввода Пробел введите значение input[type='text'] и положите его в тег span. Теперь я хочу назначить for-loop для выполнения второй части (я имею в виду положить value в span) только пять раз. И когда span уже существует. Не делайте этого больше. где я должен добавить свой for-loops? вот мой код:Добавить javascript 'for' loop

$(function() 
    { 
     $("#tags-selected").on('keypress', function(e) 
     { 
       var tags_selected=$("#tags-selected").val();  
       if(e.which === 32) 
       { 
        if(!this.value.length) 
         e.preventDefault(); 
        else 
         $("<span class='suggested-tag'>"+tags_selected+"<span class='closee'>XX</span></span>").insertBefore("#tags-selected"); 
         $("#tags-selected").val(''); 
         $(".tags-review").fadeOut(300); 

       } 

     }); 
    }); 
+1

Вы не думаете, что вам нужно использовать накладку, проверяя это 'this.value.length', как это' this.value.trim (!) .length', иначе он будет считать пустое пространство и никогда не удовлетворит ваше первое условие? –

+2

это ваша ответственность, чтобы проверять ответы на каждый вопрос и отмечать и голосовать за правильный ответ. Спасибо. –

ответ

5

Вам не нужно добавлять петли для этого. Просто проверьте длину добавленных элементов span с помощью класса-предложения. и только добавить новый элемент, если длина меньше 5:

if($('span.suggested-tag').length < 5){ 
    $("<span class='suggested-tag'>"+tags_selected+"<span class='closee'>XX</span></span>").insertBefore("#tags-selected"); 
    $("#tags-selected").val(''); 
    $(".tags-review").fadeOut(300); 
}