2015-12-03 3 views
2

Я пытаюсь использовать бутстрап touchspin для динамического создания ряда областей ввода, которые позже будут использованы для создания массива слов, но у меня возникли некоторые проблемы с созданием элементов , Я могу создать элементы, но проблема их устранения, я пытаюсь получить эту работуДобавить и удалить элементы ввода с помощью Bootstrap Touchspin

<script> 
    var limit = 40; 
    var counter= 0; 
     $("input[name='cant']").TouchSpin({ 
      min: 0, 
     }).on('change', function(){ 
      var number = $(this).val(); 

      if ((number) >= limit) { 
       alert("Word limit reached"); 
       number=limit; 
       } 
       if(number >= counter){ 
        for(i=counter;i<number;i++) { 
        var newdiv = document.createElement('div'); 
        newdiv.innerHTML = "<br><input type='text' id='word"+i+"'>"; 
        document.getElementById("ingresar").appendChild(newdiv); 
        counter++; 
        }else{ 
         for(i=counter;i>number;i--){ 
          document.getElementById("word"+i).remove(); 
          counter--; 
         } 
        } 
       } 

     ;}); 
    </script> 

Есть ли что-то я не хватает? Я предполагаю, что игра с идентификаторами элементов перепутала мой код. Есть ли еще более эффективный способ сделать это?

+0

Ну, 'domNode.remove()' является несколько поддерживается в последних браузерах, но вы, вероятно, пытаетесь использовать метод jQuery, и в этом случае вам понадобится объект jQuery, поэтому '$ ('# word' + i) .remove()'. Кроме того, вы не нацеливаете на DIV, который вы вставили, но на вход внутри него? – adeneo

+0

Отлично, это было, я использовал: $ ('# word' + i) .parent(). Remove() и исправил несколько проблем с моим sintaxis, и теперь он отлично работает, спасибо за ваш вклад – AskOcre

ответ

0

Имел несколько ошибок в sintaxis (и логики):. Фиксированный с $ ('# слово' + I) .parent() удалить()

if(number >= counter){ 
        for(i=counter;i<number;i++) { 
        var newdiv = document.createElement('div'); 
        newdiv.innerHTML = "<br><input type='text' id='word"+i+"'>"; 
        document.getElementById("ingresar").appendChild(newdiv); 
        } 
        counter=number; 
       }else{ 
        for(i=counter;i>number-1;i--){ 
         $('#word' + i).parent().remove() 
         } 
         counter=number; 
        } 
Смежные вопросы