Как получить значение JQuery клонированного текстового поля? - PullRequest
2 голосов
/ 06 декабря 2011

Я создаю вопрос для опроса с несколькими ответами.

Существует button для клонирования существующего textbox.тем не менее, как я могу получить значение этих клонированных textbox, особенно из кодовой области.

Вот мой код:

 function generateRow() {
        if (totalans == 9) {
            $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>');
        }
        else {
            $("#ans").clone().prependTo("#ans2");
            totalans = totalans + 1;
        }

// # ans - это деление.

Может кто-нибудь помочь мне, пожалуйста.Я попытался получить его.

// c # код позади

String bla = tb_ans.ToString(); String[] splitAnswer = bla.Split(','); int a = splitAnswer.Length;

// tb_ans - это мой текстовый идентификатор.

Я пытался использоватьмассив, но, кажется, он принял только первое textbox значение при сбросе остальных.

Ответы [ 4 ]

0 голосов
/ 06 декабря 2011

После просмотра вашего комментария я пересмотрел свой ответ:

function generateRow() {
    if (totalans == 9) {
        $('#<%= label2.ClientID %>').html('<b>Maximum of 10 answers per questions reached</b>');
    }
    else {
        totalans = totalans + 1; // same as totalans++;
         $("#ans").clone().attr({id: "ans_clone_" + totalans, name: "ans_clone_" + totalans}).prependTo("#ans2");
         // then you can loop through each input using the totalans variable.
    }
0 голосов
/ 06 декабря 2011

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

0 голосов
/ 06 декабря 2011

Вам необходимо установить уникальный идентификатор для клона, чтобы вы могли получить к нему доступ через javascript. Если вы также хотите, чтобы он был уникальным образом отправлен на ваш сервер как часть формы, укажите для него также уникальное имя.

$("#ans").clone().attr({id: "ansClone2", name: "ansClone2"}).prependTo("#ans2");
0 голосов
/ 06 декабря 2011

У вас есть два варианта, которые всплывают сразу:

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

Вариант второй: отправить значения клонов текстовых полей на сервер через ajax.

Лично я бы выбрал второе, так как таким образом вы могли бы клонировать практически неограниченное количество ящиков, а затем отправлять значения на сервер для обработки - что из вашего кода вы частично там.

...