Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   разбить значение из textarea по строкам (https://javascript.ru/forum/dom-window/47991-razbit-znachenie-iz-textarea-po-strokam.html)

imedia 15.06.2014 16:32

разбить значение из textarea по строкам
 
Как разбить на массив значение полученное из textarea разбив по строкам?
<html>
<head>
<script src="http://code.jquery.com/jquery-2.0.0b2.js"></script>
</head>
<body>
<textarea id="search_list"></textarea>
</body>
</html>
<script>
$('#search_list').change(function(){
var search_array = $(this).val()
alert(search_array)
})
</script>

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

skrudjmakdak 15.06.2014 16:48

в старых браузерах ето чудо работать не будет ;)
var string = 'my stroka N1\nmy stroka N2\nmy stroka N3';
Array.prototype.forEach.call(string.split('\n'), function (a)
    {
    console.log(a);
    alert(a);
    });

imedia 15.06.2014 17:36

а как просто массив составить и в переменную его записать

skrudjmakdak 15.06.2014 17:43

<!DOCTYPE HTML>
<html>
	<head>
		<title>example</title>
	</head>
	<body>
		<textarea style="width: 300px; height: 150px;">text1
text2
text3</textarea><br/>
		<input type="button" value="click me">
		<script>

var textarea = document.querySelector('textarea'),
	button   = document.querySelector('input');

button.onclick = function ()
	{
	var myList = textarea.value.split('\n');
	
	for (var i = 0, ln = myList.length; i < ln; ++i)
		alert(myList[i]);
	}
		</script>
	</body>
</html>

imedia 15.06.2014 17:58

Это же по сути то же самое почему мой вариант не работает
<html>
</head>
<script src="http://code.jquery.com/jquery-2.0.0b2.js"></script>
</head>
<body>
<textarea id="search_list"></textarea>
<script>
$(document).ready(function(){
	$('#search_list').change(function(){
	var string = $('#search_list'); 
	var search_array=string.value.split('\n');
	$each(search_array,function(key,val){
	alert(val)
	});
	
	
	
});

});
<script>

MallSerg 15.06.2014 18:05

возможно точка пропущена $.each

skrudjmakdak 15.06.2014 18:11

в фаербаге отлавливай ошибки. в нете много инфы по нему:
http://habrahabr.ru/post/148219/
http://ktonanovenkogo.ru/vokrug-da-o...a-firefox.html

imedia 15.06.2014 18:22

Нет здесь именно по этой строке вопрос
var search_array=string.value.split('\n');

она правильно составленна, это разобъет на массив строку?
потому что на выходе ничего нет
и вот этот алерт ничего не дает
alert(string.value)

skrudjmakdak 15.06.2014 18:43

потому что у тебя в string'е хранится не строка, а объект
var string = $('#search_list');

я тебе писал, поставь фаербаг. и там отлавливай. если не понятно как им пользоваться - спрашивай

imedia 15.06.2014 19:52

Спасибо - разобрался но в нем я только CSS HTML смотрю, да и еще консоль знаю js если основной принцип расскажите буду благодарен


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