2012-03-30 3 views
0

Я беру количество из одного поля ввода и создаю цикл for...each, чтобы добавить поля ввода. Но я столкнулся с проблемой. Я пробовал использовать append() и html() - append() продолжает добавлять больше ящиков, чем необходимо, и html() добавляет только последний. Которые являются правильными. Но мне нужны поля ввода, чтобы быть именно тем, что есть. И если окно ввода снова изменится, мне нужно его обновить.Добавление динамических входных тегов с помощью jQuery

вот jsfiddle: http://jsfiddle.net/liveandream/mRY3d/

Я надеюсь, что это имеет смысл ... и, надеюсь, кто-то может мне помочь !! Заранее спасибо ..

+0

Я ввел 4 в свой jsFiddle и увидел 2 набора входов. Разве это не должно появиться? Я не уверен, что понимаю, в чем твоя проблема. –

+0

Если вы меняете число детей, оно добавляет новый набор ящиков вместо замены старых. – jmoerdyk

+0

Пожалуйста, взгляните на мое решение и убедитесь, что оно лучше соответствует вашим потребностям. Благодаря! – iambriansreed

ответ

1

Вы, вероятно, хотите добавить:

$('.extrakids').empty(); 

прямо перед for цикла;

+0

duh !!! хаха спасибо! – liveandream

0

http://jsfiddle.net/iambriansreed/mRY3d/22/

Мой ответ решает много вопросов.

Если вы добавляете или удаляете детей, вы не перезаписываете ящики и не теряете никаких данных, помещенных в эти поля.

Обновление завершено, поэтому, если пользователь проскальзывает, цикл JS не будет разбиваться, если он попытается сделать слишком много. Я также выделил созданных детей.

Я покинул html, где он принадлежал, и создал входы от него.

И я исправил исходную проблему.

Смежные вопросы