Nano Hash - криптовалюты, майнинг, программирование

jQuery: динамическое добавление поля формы, удаление поля формы

Здравствуйте, я пытаюсь добавить новое поле формы и удалить поле формы, вдохновившись этим руководством - http://bootsnipp.com/snipps/dynamic-form-fields

Моя текущая проблема - удалить и сбросить все значения в хронологическом порядке.

<input type="hidden" name="count" value="1" />
<div class="control-group" id="fields">
           <label class="control-label" for="field1">Nice Multiple Form Fields</label>
           <div class="controls" id="profs"> 
             <div class="input-append">
               <input autocomplete="off" class="span3" id="field1" name="prof1" type="text" placeholder="Type something (it has typeahead too)" data-provide="typeahead" data-items="8" 
data-source='["Aardvark","Beatlejuice","Capricorn","Deathmaul","Epic"]'/><button id="b1" onClick="addFormField()" class="btn btn-info" type="button">+</button>
             </div>
             <br /><small>Press + to add another form field :)</small>
           </div>
         </div>

Javascript: -

var next = 1;

function addFormField(){
    var addto = "#field" + next;
    next = next + 1;
    var newIn = '<br /><br /><input autocomplete="off" class="span3" id="field' + next + '" name="field' + next + '" type="text" data-provide="typeahead" data-items="8"><button id="b1" onClick="$(this).parent().remove();" class="btn btn-info" type="button">+</button>';
    var newInput = $(newIn);
    $(addto).after(newInput);
    $("#field" + next).attr('data-source',$(addto).attr('data-source'));
    $("#count").val(next);  
}

Родительский элемент удаляется, но следующий счетчик не сбрасывается должным образом. в скрытой и все вновь созданной форме: -

Только добавить демонстрацию: - http://bootsnipp.com/snipps/dynamic-form-fields

Добавить демонстрацию удаления с ошибкой: - http://jsfiddle.net/6dCrT/2/

Может кто-то помочь мне, пожалуйста.

Спасибо


  • Кажется, единственная проблема с jsfiddle.net/6dCrT/2, которая при удалении не удаляет ‹ br ›, в результате получается много ‹br›, таким образом, остается место перед последним полем ввода формы. 11.06.2021

Ответы:


1

Пытаться:

function addFormField(){
    var addto = "#field" + next;
    next = next + 1;
    var newIn = '<br /><br /><input autocomplete="off" class="span3" id="field' + next + '" name="field' + next + '" type="text" data-provide="typeahead" data-items="8"><button id="b'+next+'" onClick="$(this).prev().remove();$(this).remove();" class="btn btn-info" type="button">-</button>';
    var newInput = $(newIn);
    console.log(addto);
    $(addto).after(newInput);
    if(next>1)
        $("button#b"+next).after(newInput);
    $("#field" + next).attr('data-source',$(addto).attr('data-source'));
    $("#count").val(next);  
}

ДЕМО FIDDLE

23.09.2013
  • но значение поля не сбрасывается. после добавления 3 полей и удаления 2 других .. следующее поле по-прежнему будет иметь номер 'field4' :( 23.09.2013
  • @JohnyBravo Почему вы хотите изменять атрибуты элемента, такие как id, name, на лету? Вы все еще можете анализировать родительский div для всех входов внутри. 23.09.2013
  • Простите мою глупость, не могли бы вы объяснить, что вы имеете в виду? 23.09.2013
  • Почему вы хотите сбросить следующее поле? Если вы сбросите следующее поле, вам нужно сбросить идентификаторы элементов в html, чтобы убедиться, что у вас нет повторяющихся идентификаторов. 23.09.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..