Массивы JQuery из объектов innerHTML

Изучение кода и проблема с созданием массивов из объектов jQuery. Я хотел бы дать пользователю возможность добавлять столько «Любимых книг», сколько они хотят в свой профиль.

Пользовательский интерфейс написан на jQuery,

<script language="javascript">
    function one()
    {
        var i = 1;
        my.innerHTML = my.innerHTML +"<br><input type='text' name='title'+i[] >"
        var n = 1;
        [
        div.innerHTML = div.innerHTML +"<br><input type='text' name='author'+n[] >"
        ]
    }
</script>

Я пытался:

var obj = $('input');
var arr = $.makeArray(obj);

Я надеялся, что это действительно так просто, но результат такой:

<div id="div">
<br>
<input type="text" +n[]="" name="author">
<br>
<input type="text" +n[]="" name="author">
<br>
<input type="text" +n[]="" name="author">
</div>

Я попробовал вариант номер два, который нашел здесь, но дал мне тот же результат:

var author = new Array();

//get all the authors
$('.auth input').each(function (i)
{
    var author= $(this).val();

    if(author!= '')
    {
        author[author] = author;
        alert(author.length);
    }
});

и те же результаты. Я надеялся на такой результат:

<div id="div">
<br>
<input type="text" name="author[0]">
<br>
<input type="text" name="author[1]">
<br>
<input type="text" name="author[2]">
</div>

поэтому я могу разобрать массив PHP.


person n1c0    schedule 21.09.2012    source источник
comment
Вам действительно нужно хранить информацию в массиве? : S   -  person Littm    schedule 21.09.2012
comment
Ах! попробуйте что-нибудь вроде <input type='text' name='author[' + n + ']+' />. Я вижу здесь много возможных опечаток .. См. Это   -  person Vishal    schedule 21.09.2012
comment
Спасибо, но он выводит ‹div id = my› ‹br› ‹input type = text '] +' = n = + = name = UnitID [› ‹br› ‹input type = text '] +' = n = + = name = UnitID [›‹br›   -  person n1c0    schedule 21.09.2012


Ответы (1)


Может быть:

<script language="javascript">
    var i = 0;
    function one(){
       $('#my').append("<br><input type='text' name='title["+i+"]'>");
       $('#div').append("<br><input type='text' name='author["+i+"]'>");
       i++;
    }
</script>
person Mihai Iorga    schedule 21.09.2012
comment
массив переменных [0] не увеличивается при выполнении. он просто убивает 5 или 10 авторов [0]. - person n1c0; 21.09.2012
comment
Ага, это сработало, когда я вынес переменную за пределы функции. Спасибо Михай - person n1c0; 21.09.2012