2013-06-20 6 views
0

Я пытаюсь выписать текст из группы текстовых областей с одинаковым именем.получение текста из группы текстовых полей

По какой-то причине он не работает.

Вот мои текстовые области:

<textarea name="tbmcqAnswer"></textarea> 
<textarea name="tbmcqAnswer"></textarea> 
<textarea name="tbmcqAnswer"></textarea> 

А вот это JavaScript:

var answers; 
$(function() { 
    $('textarea[name="tbmcqAnswer"]').map(function() { 
     answers = "<h3>" + this.value + "</h3>" 
    }) 
}) 
div.html(answers); 
+2

Почему ваши текстовые поля имеют одинаковые n AME ?? – j08691

+0

, потому что я пытаюсь сгруппировать их все, чтобы я мог их прокрутить – SkyeBoniwell

+2

Использовать класс вместо этого, тогда @ 999cm999 – hjpotter92

ответ

3

Попробуйте это - (вы получите массив всех значений)

var answers; 
$(function() { 
    answers = $('textarea[name="tbmcqAnswer"]').map(function() { 
     return "<h3>" + this.value + "</h3>"; 
    }).get(); 
    $('div').html(answers.join('')); 
}); 

Демо-версия ---->http://jsfiddle.net/wdJka/3/

+0

Вам не придется перебирать «ответы» и добавлять ? Или это просто добавит их сразу? – tymeJV

+0

'.map()' будет выполнять цикл. –

+0

Я знаю '.map()' будет делать цикл и создавать массивы 'answers'. Я спрашивал о 'div.html (ответы)'. – tymeJV

1

Вы можете сделать это также

Дают класс, как

<textarea class="tbmcqAnswer"></textarea> 
<textarea class="tbmcqAnswer"></textarea> 
<textarea class="tbmcqAnswer"></textarea> 

и Дж выглядит следующим образом:

var answers=[]; 
$(".tbmcqAnswer").each(function(){ 
answers.push(this.value); 
}); 

$("div").html(answers.join(",")); 

для справки - http://jsfiddle.net/QphrP/ Выше даст вам желаемых результатов и лучше, чем имя и .map()

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