2013-03-21 2 views
0

У меня есть неизвестное количество текстовых полей. Для обработки данных, введенных пользователем, мне нужно преобразовать их содержимое в элементы списка.Преобразование нескольких текстовых полей в LI в неупорядоченном списке

Использование JavaScript и/или JQuery, как я могу преобразовать это:

<textarea>content 1</textarea> 
<textarea>content 2</textarea> 
<textarea>content 3</textarea> 

Для этого:

<ul> 
    <li>content 1</li> 
    <li>content 2</li> 
    <li>content 3</li> 
</ul> 

мне нужно Asign получившийся UL к переменной, которая отправляется на AJAX оказание услуг.

Edit - до сих пор я пытался:

var visibleTextareas = $('textarea:visible'); 

var listItems = visibleTextareas.replaceWith(function() { 
    return $('<li>' + $(this).val() + '</li>'); 
}); 

var text = '<ul>' + listItems + '</ul>'; 
console.log(text); 

Это приводит к <ul>[object Object]</ul> после входа в консоль и бэкенд отвечает, что он нуждается в UL.

+1

Что вы пробовали? – Hkachhia

+1

Обязательно - [Что вы пробовали] (http://whathaveyoutried.com)? – Boaz

ответ

2

попробовать что-то вроде этого:

var output = '<ul>'; 

$('textarea').each(function(){ 
    output += '<li>' + $(this).val() + '</li>'; 
}); 

output += '</ul>'; 

ли эту работу для вас?

EDIT:.val() более подходит в этом случае.

+2

Я думаю, что $ (this) .val() будет работать здесь .. – Sangeeta

+0

не может удалить неправильную точку с запятой после '$ (this) .val()' в вашем ответе - кроме того, что он отлично работает, спасибо большое – maze

+0

Извините, бит рано утром для меня здесь! Теперь все исправлено. –

0

Отъезд jQuery API на .each(), второй пример должен помочь вам ..

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