Javascript.RU

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

Как сделать фильтр ползунок jquery
Для интернет магазина нужен фильтр ползунок для фильтрации цен товаров.
Примеров много в интернете , но нет реализации . Как можно сделать сортировку по javascript ,jquery ,ajax и взять элементы сортировки из базы данных.Хочу сделать сортировку без php+mysql.Только javascript ,jquery ,ajax, mysql.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2015, 14:37
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Цитата:
Сервер MySQL поддерживает различные способы передачи данных. Соединения могут использовать TCP/IP протоколы, сокеты Unix доменов или именованные пайпы Windows.
Что из этого ты планируешь использовать со стороны javascript'а?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2015, 14:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Или ты имеешь ввиду что хочешь делать сортировку фильтрацию без запросов на сервер?


<input id="filter" type="range" min="0" max="1000" value="1000" />
<table id="products">
	<tr>
		<td>Product 1</td>
		<td class="price">333</td>
	</tr>
	<tr>
		<td>Product 1</td>
		<td class="price">666</td>
	</tr>
	<tr>
		<td>Product 1</td>
		<td class="price">999</td>
	</tr>
</table>
<script>
	filter.oninput = function() {
		var rows = products.rows;
		for (var i = 0; i < rows.length; i++) {
			var price = +rows[i].querySelector('.price').textContent;
			rows[i].style.display = (price > this.value) ? 'none' : 'block';
		}
	};
</script>
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2015, 15:08
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Цитата:
Хочу сделать сортировку без php+mysql
А почему так решили?
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2015, 15:25
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Если у тебя несколько страниц с товарами или они подгружаются динамически, то не получится сделать. Если только все товары заранее не загружены куда-нибудь, но это глупо. Поэтому лучше делать сортировку на PHP.
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2015, 17:00
Интересующийся
Отправить личное сообщение для gevorg Посмотреть профиль Найти все сообщения от gevorg
 
Регистрация: 17.01.2015
Сообщений: 11

Как сделать фильтр ползунок jquery
Даник спс за быстрый пример. Пример подходит и из базы добавлять товары с картинками можно , но есть 1 нюанс тогда не сработает моя корзина покупок .
у меня есть функция

<div class="item border">
<a href="#" onclick="cart.addToCart(this, '1', 'IPhone 5', '20500')" class="item_img"><img src="img/shop/iphone5.png" width="50"></a>
<p><b>IPhone 5</b> | Цена: 20500 руб</p>
<button class="border" onclick="cart.addToCart(this, '1', 'IPhone 5', '20500')">Купить</button>

</div>

а
функция cart.addToCart описанно ниже

/***************************************
* JQuery based script
* Basket on client side
* Created WebInside WebStudio (c) 2014
* Use only for linked www.webinside.ru
**************************************/
function WICard(obj)
{
this.widjetX = 0;
this.widjetY = 0;
this.widjetObj;
this.widjetPos;
this.cardID = "";
this.DATA = {};
this.IDS = [];
this.objNAME = obj;
this.CONFIG = {};
this.IMG = "iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAABp FBMVEUAAABEREBEREBEREBEREASEhEJCQgGBgYBAQEAAAAGBgU HBwYAAAAAAAADAwNEREBEREAJCQkICAcGBgYFBQUJCQgnJyVER EAICAgBAQEAAAAICAcAAAAAAAAAAAAJCQgAAAAGBgYBAQEQEA8 NDQwHBwcBAQEMDAsSEhEJCQkBAQEBAQEBAQFAQDxEREBEREADA wIAAAABAQESEhEkJCIAAAAICAgAAAAQEA9EREAAAAATExIAAAA KCgkNDQwAAAAAAAABAQETExIHBwcDAwMDAwMTExIAAAAAAAABA QEAAAAAAAAAAAAAAAAAAAAAAAADAwIAAAAGBgUBAQEWFhUAAAA AAAAHBwYBAQEVFRMDAwMHBwcUFBMWFhUBAQETExIAAAAAAAADA wMMDAsAAAAAAAASEhEAAAAUFBMAAAAJCQkrKygDAwMAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMAAAAJCQgAAAAiIiABA QEAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQFEREAFBQUBAQEAAAA GBgYICAgHBwcBAQEJW8x2AAAAhXRSTlMAAQcIAjJ0kZqZnp+La ygNDxKw/v6wIwPY1A+upf4nenGWvXCg/Pubc8eSmLkcHxpW+vlhBr6hl3EDUl9pop5Q+fhe+1FPXVT8mlx fXWD9+1dbnPRRRved9ldI+Fhd+mBaVlSYWJN1V2dqwwVTA8ORv JXAknRzKii2rCjc3BUTqagrepgUbRZwswAAAAlwSFlzAAAASAA AAEgARslrPgAAAb1JREFUOMuNk2dTwkAQhpdiCZagotiwd5RYQ eyKJdii2FDsvffeG0TJnza3lzg4kBnv0zt5NpvdZ3IA/zs6vUGv00wAxrj4hESGnERTkomk5JRU1swaFZ6WnhEMieSEgl9 qsmRmWVWe/R2W8KkUjkw5uUr/vNhcEvPpLHEZGly0FYA8pb4wqMFFscioBzAU06lKSsvKKa+orK qmqYY1yB3smGvrHFx9A0mNTQ6uuQU7Oc1yB50Lc6uDc0ObXNHY TlIHfqmTJaZcmLvkpwDdPb19hAODkzjRlAuzpx93GhhEPsTjpF 6gBTg1PyxnN4d8hHKJoQUhuhU/qvKxcWVTWmAPKlsLE5RP8qoJLND5vhQ/U9PIYWZWNcWgyTnFpH+ecoCFgNKTQZM+atK/qHI3txSg73gjTC6vIF9dw0nXhSiTG8g3eaEeJ92KMrlN+I4gSp 5dkvaiTO4fAKwJ6PQQ4Og4wuQJ3fp070zZXzhJOafpAgsuQ2Gt f+4KC64tWtx2gybZW61/8g7QpPn+ITZ/fAI0yVqfX2wx+r8+gxVNkl3f3j+cnU4v3j4vSa73NwDrJ5qkt+ f3Jv5N6u3Vvt0/UGcpYbC85ecAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTMtMDUtMT hUMDY6MDM6MzEtMDU6MDALk1CfAAAAJXRFWHRkYXRlOm1vZGlm eQAyMDEzLTA1LTE4VDA2OjAzOjMxLTA1OjAwes7oIwAAAABJRU 5ErkJggg==";


this.init = function(widjetID, config)
{
this.CONFIG = config || {};
try {
this.DATA = JSON.parse(localStorage.getItem(widjetID)); // code to try
//console.log("TRY - OK");
if ($.isEmptyObject(this.DATA))
{
this.DATA = {};
}

}
catch (e)
{
this.DATA = {};
//onsole.log("TRY - BED");
}
try {
this.IDS = JSON.parse(localStorage.getItem(widjetID + "_ids"));
if ($.isEmptyObject(this.IDS))
{
this.IDS = [];
}
}
catch (e)
{
this.IDS = [];
}
//console.log(this.DATA);

this.cardID = widjetID;
$("body").append("<div class='bird' id='"+widjetID +"_bird'></div>");
this.widjetObj = $("#" + widjetID);
this.widjetPos = this.widjetObj.position();

if ($.isEmptyObject(this.DATA))
{
this.widjetObj.html("Корзина пуста");
}
else
{
this.reCalc();

}

}

/************************************************** *********************************************
* example: onclick="cart.addToCart(this, '2', 'Name of comic 2', '25500')
************************************************** ********************************************/
this.addToCart = function(curObj, id, name, price)
{


var goodieLine = {"id" : id, "name" : name, "price": price, "num" : 1, "url" : document.location.href};



if ($.isEmptyObject(this.DATA))
{
this.DATA[id] = goodieLine;
this.IDS.push(id);
}
else
for(var idkey in this.DATA)
{


if($.inArray(id, this.IDS) === -1)
{
this.DATA[id] = goodieLine;
this.IDS.push(id)

}
else
if (idkey == id)
{

this.DATA[idkey].num += 1;

}
}

localStorage.setItem(this.cardID, JSON.stringify(this.DATA));
localStorage.setItem(this.cardID + "_ids", JSON.stringify(this.IDS));
this.reCalc();

this.renderBasketTable();



var bird = $("#" + this.cardID + "_bird");
var pos = $(curObj).position();
bird.offset({ top: pos.top, left: pos.left});
bird.html(price);

//bird.show();

bird.animate(
{
'left': this.widjetPos.left,
'top': this.widjetPos.top
}
,
{
'duration': 500,
complete: function()
{
bird.offset({ top: -300, left: -300});
}
});

if (this.CONFIG.showAfterAdd)
{

}
}
this.reCalc = function()
{
var num = 0;
var sum = 0;
for(var idkey in this.DATA)
{
num += parseInt(this.DATA[idkey].num);
sum += parseFloat(parseInt(this.DATA[idkey].num) * parseFloat(this.DATA[idkey].price));

}
this.widjetObj.html("Товаров " + num + " на сумму " + sum);
}
this.clearBasket = function()
{
this.DATA = {};
this.IDS = [];
this.widjetObj.html("Корзина пуста");
localStorage.setItem(this.cardID, "{}");
localStorage.setItem(this.cardID + "_ids", "[]");
$("#btable").html('');
}
this.renderBasketTable = function()
{

if ($('#bcontainer').length == 0)
{
$("body").append(" \
<div id='blindLayer' class='blindLayer'></div> \
<div id='bcontainer' class='bcontainer'> \
<div id='bsubject'>КОРЗИНА<a id='bclose' href='#' onclick='" + this.objNAME + ".closeWindow(\"bcontainer\", 1);'><img src='data:image/jpeg;base64,"+ this.IMG + "' /></a></div> \
<td></td></tr></table> \
<div id='overflw'><table class='btable' id='btable'></table></div> \
<div id='bfooter'> <button class='bbutton' onclick=\"cart.showWinow('order', 1)\">Оформить заказ</button><span id='bsum'>...</span></div> \
</div> \
");

}
else
{
$("#btable").html("");
}
this.center( $("#bcontainer") )
var sum = 0;
for(var idkey in this.DATA)
{
with (this.DATA[idkey])
{
sum += parseFloat(price * num);
var productLine = '<tr class="bitem" id="wigoodline-' + id + '"><td>'+ id +'</td><td><a href="' + url + '">'+ name +'</a></td><td class="wigoodprice">' + price + ' руб.</td><td>'+ num +'</td><td>'+ parseFloat(price * num) +'</td><td><a href="#" onclick="' + this.objNAME + '.delItem(\'' + id + '\')"><img src="data:image/jpeg;base64,'+ this.IMG + '" /></a></td></tr>';
}
$("#btable").append(productLine);

}
$("#bsum").html(sum + " руб.");
}
this.center = function(obj)
{

obj.css({"top" : "200px"});
obj.css({"left" : Math.max(0, (($(window).width() - $(obj).outerWidth()) / 2) + $(window).scrollLeft()) + "px"});
return obj;
}
this.showWinow = function(win, blind)
{
$("#" + win).show();
if (blind)
$("#blindLayer").show();
}
this.closeWindow = function(win, blind)
{
$("#" + win).hide();
if (blind)
$("#blindLayer").hide();
}
this.delItem = function(id)
{
if (confirm("Удалить #" + id + "?"))
{
$("#btable").html("");
delete this.DATA[id];
this.IDS.splice( $.inArray(id, this.IDS), 1 );
this.reCalc();
this.renderBasketTable();
localStorage.setItem(this.cardID, JSON.stringify(this.DATA));
localStorage.setItem(this.cardID + "_ids", JSON.stringify(this.IDS));
}
}
this.sendOrder = function(domElm)
{
if (this.CONFIG.valudate)
{
var valid = this.CONFIG.valudate.validationEngine('validate');
if (!valid) return false;
}

var bodyHTML = "";
var arr = domElm.split(",");

for (var f=0; f < arr.length; f++) {

bodyHTML += this.getForm(arr[f]) + "<br><br>";

};

//return bodyHTML;
$.post( "sendmail.php?subj=ZAKAZ BASKET", { "order": bodyHTML }).done(function( data ) {
cart.closeWindow("bcontainer", 1)
cart.closeWindow("order", 0);
if (cart.CONFIG.clearAfterSend)
{
cart.clearBasket();
}
alert("Спасибо за покупку!\nМы свяжемся с Вами в ближайшее время");
});

}
this.getForm = function (formId)
{
var formObj = document.getElementById(formId);
var copyForm = formObj.cloneNode(true);

INPUTS=[].slice.call( copyForm.querySelectorAll("input,select,textarea") );

INPUTS.forEach(function(elm)
{
if (elm.type == 'checkbox')
{
var spanReplace = document.createElement("span");
spanReplace.innerHTML = (elm.checked) ? elm.value : "";
elm.parentNode.replaceChild(spanReplace, elm);
}
else if ((elm.type == 'text') || (elm.type == 'hidden'))
{
var subjP = document.createElement('b');
subjP.innerHTML = elm.placeholder;
elm.parentNode.insertBefore(subjP, elm);
var spanReplace = document.createElement("div");
spanReplace.innerHTML = elm.value;
elm.parentNode.replaceChild(spanReplace, elm);
}
});


return copyForm.innerHTML;
}
}

Последний раз редактировалось gevorg, 17.01.2015 в 17:08.
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2015, 17:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ну какая-то портянка, дальше что? В тег кода хотя б оборачивай.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 18.01.2015, 13:09
Интересующийся
Отправить личное сообщение для gevorg Посмотреть профиль Найти все сообщения от gevorg
 
Регистрация: 17.01.2015
Сообщений: 11

Как сделать фильтр ползунок jquery
Даник спс вам за все вы мне помогли,а если будут вопросы можно вам обратиться ?
Ответить с цитированием
  #9 (permalink)  
Старый 18.01.2015, 13:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от gevorg
можно вам обратиться
Персонально - за деньги можно. А так - форум и создан для вопросов.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 22.12.2015, 13:05
Новичок на форуме
Отправить личное сообщение для sergik Посмотреть профиль Найти все сообщения от sergik
 
Регистрация: 22.12.2015
Сообщений: 1

Подскажите как сделать фильтрацию по цене от - до указанной в input(ах), нужно показать все строки в пределах цены
<table class="sort">
<tr>					
					<td width="168" rowspan="2">
						<a
							class="thumb vtop inlblk rel tdnone linkWithHash scale4 detailsLink "
							href="http://olx.ua/obyavlenie/nokia-3250-noviy-black-IDhvvvO.html#1e109ae6e9" title="">
														    <img class="fleft" src="http://img02.olx.ua/images_slandocomua/276495120_1_261x203_nokia-3250-noviy-black-kiev.jpg" alt="Nokia 3250 (НОВИЙ) Black">
                                                                                                                						</a>
					</td>
					<td valign="top">
						<div class="space rel">
							<h3 class="x-large lheight20 margintop5">
                                                                								<a href="http://olx.ua/obyavlenie/nokia-3250-noviy-black-IDhvvvO.html#1e109ae6e9" class="marginright5 link linkWithHash detailsLink">
									<strong>Nokia 3250 (НОВИЙ) Black</strong>
								</a>
							</h3>
							<p class="color-9 lheight16 margintop5">
								<small class="breadcrumb x-normal">
																	Телефоны » Мобильные телефоны
																</small>
							</p>
						</div>
					</td>
					<td width="170" class="wwnormal tright td-price" valign="top">
						<div class="space rel">
													<p class="price">
								<strong>700 грн.</strong>
							</p>

														                            						                            												</div>
                        					</td>
	</tr>
     <tr>
                    <td valign="bottom">
                        <div class="space rel">
                            <p class="color-9 lheight16 marginbott5">
                                <small class="breadcrumb x-normal">
                                    <span>
                                        Киев, Оболонский                                    </span>
                                </small>
                            </p>
                            <p class="color-9 lheight16 marginbott5 x-normal">
                                Сегодня 00:56                            </p>
                        </div>
                    </td>
					<td width="85" class="tright" valign="bottom">
						<div class="space rel">
														<div class="rel observelinkinfo inlblk zi3">
								<a href="#" class="{id:258949250} observe-link inlblk lheight16 tdnone tcenter margintop5 vishid " data-statkey="ad.observed.list">
									<span class="icon inlblk observe2 observed-258949250">&nbsp;</span>
									<span class="link x-small gray2 block lheight14">
										<span>  </span>
									</span>
								</a>
								<div class="suggesttitleright small top abs zi2 br4 hidden">
									<p></p>
									<div class="target abs icon"></div>
								</div>
							</div>
													</div>
					</td>
	</tr>
			

	<tr>					
					<td width="168" rowspan="2">
						<a
							class="thumb vtop inlblk rel tdnone linkWithHash scale4 detailsLink "
							href="http://olx.ua/obyavlenie/prodam-nokia-3250-IDhvrr6.html#1e109ae6e9" title="">
														    <img class="fleft" src="http://img02.olx.ua/images_slandocomua/276468016_1_261x203_prodam-nokia-3250-desna.jpg" alt="Продам NOKIA 3250">
                                                                                                                						</a>
					</td>
										<td valign="top">
						<div class="space rel">
							<h3 class="x-large lheight20 margintop5">
                                <span class="courierbadge inlblk rel">
	<span class="icon mini courier2 inlblk marginbott-5">&nbsp;</span>
	<div class="suggesttitle top abs zi5 br3 normal hidden">
		<p class="color-6 lheight18">
			Продавец отправит товар с возможностью проверить и оплатить его при получении.		</p>
		<a class="fright margintop5" href="http://olx.ua/about-shipping/" target="_blank">Узнать больше &raquo;</a>
		<div class="suggest-bound abs"></div>
		<span class="icon target abs"></span>
	</div>
</span>
                                								<a href="http://olx.ua/obyavlenie/prodam-nokia-3250-IDhvrr6.html#1e109ae6e9" class="marginright5 link linkWithHash detailsLink">
									<strong>Продам NOKIA 3250</strong>
								</a>
							</h3>
							<p class="color-9 lheight16 margintop5">
								<small class="breadcrumb x-normal">
																	Телефоны » Мобильные телефоны
																</small>
							</p>
						</div>
					</td>
					<td width="170" class="wwnormal tright td-price" valign="top">
						<div class="space rel">
													<p class="price">
								<strong>500 грн.</strong>
							</p>

														<span class="normal inlblk pdingtop5 lheight16 color-2">Договорная</span>
														                            						                            												</div>
                        					</td>
	</tr>
     <tr>
                    <td valign="bottom">
                        <div class="space rel">
                            <p class="color-9 lheight16 marginbott5">
                                <small class="breadcrumb x-normal">
                                    <span>
                                        Десна                                    </span>
                                </small>
                            </p>
                            <p class="color-9 lheight16 marginbott5 x-normal">
                                Вчера 22:47                            </p>
                        </div>
                    </td>
					<td width="85" class="tright" valign="bottom">
						<div class="space rel">
														<div class="rel observelinkinfo inlblk zi3">
								<a href="#" class="{id:258929676} observe-link inlblk lheight16 tdnone tcenter margintop5 vishid " data-statkey="ad.observed.list">
									<span class="icon inlblk observe2 observed-258929676">&nbsp;</span>
									<span class="link x-small gray2 block lheight14">
										<span>  </span>
									</span>
								</a>
								<div class="suggesttitleright small top abs zi2 br4 hidden">
									<p></p>
									<div class="target abs icon"></div>
								</div>
							</div>
													</div>
					</td>
	</tr>
			

	
	
	
	
</table>

пробовал по вашему примеру с ползунком, но ничего не выходит
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать плагин jQuery в виде объекта? SkaN jQuery 12 28.06.2012 12:31
JQuery как из присланой ajax-ом data сделать DOM объект vuler Общие вопросы Javascript 1 16.04.2012 23:43
Как сделать загрузку изображения аля вконтакте? OklickSpb Общие вопросы Javascript 4 31.03.2012 17:12
Как сделать как в JQ? faforty Общие вопросы Javascript 8 14.11.2011 01:35
Как сделать кнопку в заголовке jQuery ui dialog flytracer jQuery 2 15.10.2011 17:06