Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.09.2016, 11:27
Новичок на форуме
Отправить личное сообщение для miusov Посмотреть профиль Найти все сообщения от miusov
 
Регистрация: 27.07.2016
Сообщений: 8

Как отфильтровать таблицу по select?
В общем, есть xml, из него достаю информацию о товарах и вношу в таблицу, так же делаю select с категориями товаров. Как сделать что бы при выборе категории товара в select, в таблице скрывались товары не относящиеся к этой категории?

HTML:
<body>

	<div id="wrap">
		<div id="filter">
			<button>Фильровать</button>
		</div>
		<div id="content"></div>
	</div>




	<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.0/jquery.min.js" defer></script>
	<script src="js/main.js" defer></script>
	
</body>




JS:
(function($) {
	$(function() {

		$.ajax({
			type: "GET",
			url: "xml/get.xml",
			dataType: "xml",
			success: parser
		});
	function parser(xml) {
		var select = '<select class="sel">';

		$(xml).find("category").each(function() {
			select+='<option id="'+$(this).attr('id')+'">'+ $(this).text()+'</option>';
		})

		select+='</select>';
		$('#filter').prepend(select);

		var str='<table>';

		str+='<tr style="font-weight: bold"><td>Название</td><td>Страна</td><td>Цена</td><td>Валюта</td><td>Товар</td><td>Доставка</td><td>Ассортимент</td><td>Склад</td><td>Категория</td><td>Ссылка</td></tr>'

		$(xml).find("offer").each(function() {

			str+='<tr id="'+$(this).attr('id')+'">';
			str+='<td>'+$(this).find('name').text()+'</td>';
			str+='<td>'+$(this).find('country_of_origin').text()+'</td>';
			str+='<td>'+$(this).find('price').text()+'</td>';
			str+='<td>'+$(this).find('currencyId').text()+'</td>';
			str+='<td><img src="'+$(this).find('picture').text()+'"></td>';
			str+='<td>'+$(this).find('delivery').text()+'</td>';
			str+='<td>'+$(this).find('pickup').text()+'</td>';
			str+='<td>'+$(this).find('store').text()+'</td>';
			str+='<td>'+$(this).find('categoryId').text()+'</td>';
			str+='<td><a href="'+$(this).find('url').text()+'" target="_blanc">link</a></td>';
			str+='</tr>';
		})
		
		str+='</table>';
		$('#content').append(str);
	}

	

	$('button').click(function() {
	        ?????????
	})

	}) 
})(jQuery)
Ответить с цитированием
  #2 (permalink)  
Старый 16.09.2016, 11:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,064

miusov,
Фильтр таблицы. Как удалить элемент из массива?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить значение jquey range в зависимости от значения select? drkrol jQuery 1 07.09.2015 01:24
Как поправить выбор в select? makalet jQuery 2 02.08.2015 13:52
Как преобразовать XML в HTML таблицу? vave Общие вопросы Javascript 13 16.05.2015 13:16
Управление скроллом "а-ля тач" HonesT Элементы интерфейса 2 27.08.2013 14:25
Как вывести на экран значение функции SELECT MAX(id) Владдд Серверные языки и технологии 3 25.01.2009 16:07