Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Разделить строку на масив (https://javascript.ru/forum/jquery/23055-razdelit-stroku-na-masiv.html)

Mamayoto 10.11.2011 11:39

Разделить строку на масив
 
Нужно при выборе checkbox вывести выбраные бренды через запятую. В теге с класом .filter-brand-add
Но text() Обєдиняет все в одну строку. Может сдесь другой подход нужен? Помогите пожалуйсто, уже второй день мучаюсь:help:
$('.filter-block input').click(function() {
	if ($(this).is(':checked')) {
		$(this).next().addClass('checked');
	} 
	else {
		$(this).next().removeClass('checked');
	}
				
	var arr = [];	
	var c =  $('.checked').text();
	arr.push(c);
	for(var i=0; i < arr.length; i++);
	var d = arr.join(", ");
	$('.filter-brand-add').text(d);
});

<div class="filter-block">
	<ul class="checkboxes">
		<li><input type="checkbox" id="check1" /><label for="check1">Acer</label></li>
		<li><input type="checkbox" id="check2" /><label for="check2">Apple</label></li>
		<li><input type="checkbox" id="check3" /><label for="check3">Asus</label></li>
		<li><input type="checkbox" id="check4" /><label for="check4">Dell</label></li>
		<li><input type="checkbox" id="check5" /><label for="check5">Fujitsu</label></li>
		<li><input type="checkbox" id="check6" /><label for="check6">HP</label></li>
		<li><input type="checkbox" id="check7" /><label for="check7">MSI</label></li>
		<li><input type="checkbox" id="check8" /><label for="check8">Packard Bell</label></li>
		<li><input type="checkbox" id="check9" /><label for="check9">Panasonic</label></li>
		<li><input type="checkbox" id="check10" /><label for="check10">Samsung</label></li>
		<li><input type="checkbox" id="check11" /><label for="check11">Sony</label></li>
		<li><input type="checkbox" id="check12" /><label for="check12">Toshiba</label></li>
		<li><input type="checkbox" id="check13" /><label for="check13">ViewSonic</label></li>
	</ul>
</div>
<span class="filter-brand-add">Сюда вывести выбраные бренды через запятую</span>

Snipe 10.11.2011 12:28

Опишите словами, что делает каждая строка вашей программы. Можно прям комментариями в скрипте.
Думаю, тогда вы сами сможете отыскать ошибку.

ksa 10.11.2011 14:35

Цитата:

Сообщение от Mamayoto
Нужно при выборе checkbox вывести выбраные бренды через запятую. В теге с класом .filter-brand-add

Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(document).ready(function(){
	$('.checkboxes :checkbox').click(function(){
		var val='',dlm=''
		$('.checkboxes :checked').each(function(){
			val=val+dlm+$(this).next('label').text()
			dlm=', '
		});
		$('.filter-brand-add').empty().text(val);
	});
});
</script>
</head>
<body>
<div class="filter-block">
	<ul class="checkboxes">
		<li><input type="checkbox" id="check1" /><label for="check1">Acer</label></li>
		<li><input type="checkbox" id="check2" /><label for="check2">Apple</label></li>
		<li><input type="checkbox" id="check3" /><label for="check3">Asus</label></li>
		<li><input type="checkbox" id="check4" /><label for="check4">Dell</label></li>
		<li><input type="checkbox" id="check5" /><label for="check5">Fujitsu</label></li>
		<li><input type="checkbox" id="check6" /><label for="check6">HP</label></li>
		<li><input type="checkbox" id="check7" /><label for="check7">MSI</label></li>
		<li><input type="checkbox" id="check8" /><label for="check8">Packard Bell</label></li>
		<li><input type="checkbox" id="check9" /><label for="check9">Panasonic</label></li>
		<li><input type="checkbox" id="check10" /><label for="check10">Samsung</label></li>
		<li><input type="checkbox" id="check11" /><label for="check11">Sony</label></li>
		<li><input type="checkbox" id="check12" /><label for="check12">Toshiba</label></li>
		<li><input type="checkbox" id="check13" /><label for="check13">ViewSonic</label></li>
	</ul>
</div>
<span class="filter-brand-add">Сюда вывести выбраные бренды через запятую</span>
</body>
</html>

ksa 10.11.2011 14:36

Цитата:

Сообщение от Mamayoto
уже второй день мучаюсь

Да ты, батенька, мазохист! А таки платить не хочется, да? :lol:

Mamayoto 10.11.2011 15:23

Большое спасибо!!!
Я только учусь, а без мазохизма в учебе никак... наверное...

ksa 10.11.2011 15:52

Цитата:

Сообщение от Mamayoto
Я только учусь

Тогда начинать нужно с азов... В учебниках всё подробно расписывают. И примеры там от простого к сложному...

trikadin 10.11.2011 20:46

Mamayoto, почитайте)


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