Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Динамические поля clone (https://javascript.ru/forum/jquery/25297-dinamicheskie-polya-clone.html)

Grummk 01.02.2012 05:48

Динамические поля clone
 
Доброго утра, всю ночь мучился с динамическими полями и clone(), не выходит то что надо

html
Код:

<ul id="files">
        <li class="file">
                <input type="file" name="image[]" class="input-file" />
                <input type="button" value="" onclick="file.remove()" />
        </li>
        <li class="file">
                <input type="file" name="image[]" size="40" class="input-file" />
                <input type="button" value="" onclick="file.remove()" />
        </li>
        <li class="file">
                <input type="file" name="image[]" size="40" class="input-file" />
                <input id="addbutton" type="button" onclick="file.add()" />
        </li>
</ul>

js

Код:

var file = {

        add: function()// добавляет поле
        {
                clone = $('#addbutton').parent().clone(true).insertAfter('#addbutton');


                $('#addbutton').after(this.minus).remove();
        },

        remove: function()// удаляем поле
        {
                $(this).parent().remove();
        }
}

file.add() должен клонировать и вставлять после себя, ещё одно такое поле, получает без обёртки <li class="file"></li> и вставляет сразу после <input id="addbutton" type="button" onclick="file.add()" /> а должен после li

Код:

        <li class="file">
                <input type="file" name="image[]" size="40" class="input-file" />
                <input id="addbutton" type="button" onclick="file.add()" />
        </li>

ещё один вопрос, почему remove.add() работает если вынести отдельной фунцией т.е без var file = {}, this не отсылается, пробовал вызывать функцию, передавая this remove.add(this) без результатно


Часовой пояс GMT +3, время: 16:25.