2011-04-19 1 views
1

Я полностью выложился на Fiddle здесь, так что вы получите (большая часть) картины:Некоторые ошибки в динамической форме, что я хотел бы получить фиксированный

http://jsfiddle.net/ch29z/11/

При нажатии кнопки + в первой строке он клонирует + в его выделенном состоянии, поэтому копия зеленая.

Если вы установили первую строку, например. agent = excel, когда он клонируется, первое выпадающее меню возвращается к тегам, а 2-е и 3-е значения остаются равными «=» и «excel»

Если вы добавите вторую строку, но затем удалите первую строку, добавьте еще одну строку, расстояние между элементами отличается от того, когда вы впервые добавляете строки (IMO, интервал действительно лучше, когда вы это сделали, это проблема с CSS, но я просто не могу заставить ее сидеть.)

Также, когда вы выбираете вариант, затем плохо, а затем возвращайтесь к варианту, текстовое поле дублируется, так что теперь есть 2, если вы повторите процесс. Добавляется текстовое поле «ДРУГОЕ».

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

Любая помощь в отношении этих ошибок приветствуется, еще несколько пар глаз действительно помогают.

С уважением,

Martin

ответ

0
$(this).parent().find(".valuestextbox").remove(); 

Казалось бы, сделать трюк. Спасибо за вашу помощь.

1

пространство, кажется, исходит от края вы установили на ваш выбор:

.dropdownclone select { 
... 
    margin-bottom: 15px; 
    margin-top: 5px; 
} 

Для div.autocomplete вы должны приготовьте его в DOM и играть с a style="display:none", как вы делаете с select. Но если вам нравится вводить его, как и вы, вам нужно проверить, не существует ли он уже.

+0

Спасибо, у вас есть идеи, как реализовать проверку? Я попробовал следующее: 'var variantClones = $ ('. Valuestextbox'). Size() + $ ('. Valuestextboxclone'). Size(); if (variantClones <1) { $ values.after ($ valuestextbox.clone()); } if (variantClones> = 1) { возвращение; } ', но если вы измените между двумя параметрами, которые создают текстовое поле, то список автозаполнения не обновляется, он остается тем же самым списком, что и для первого текстового поля. Надеюсь, это имеет смысл. – martincarlin87

+0

Может быть каждый раз, когда вы делаете '$ values.after ($ valuestextbox.clone())' make '$ values.find ('div.autocomplete'). Remove()' before. Но человек, это странный код, с большим количеством повторений, которые вы пытаетесь запустить здесь. – Mic

+0

спасибо за помощь - это, похоже, сделало трюк в том месте, которое вы упомянули: '$ (this) .parent(). Find (". Valuestextbox "). Remove();' – martincarlin87