Показать сообщение отдельно
  #5 (permalink)  
Старый 25.01.2019, 12:01
Интересующийся
Отправить личное сообщение для Alexko64 Посмотреть профиль Найти все сообщения от Alexko64
 
Регистрация: 17.04.2018
Сообщений: 26

Сообщение от рони Посмотреть сообщение
Alexko64,
могу только гадать, возможно в name продукта есть только Samsung
SLS.sproducts[i].name, Samsung Galaxy в другом месте.
Вот полный скрипт с двумя примерами. В обоих примерах есть слова Samsung и Galaxy, но попробуйте ввести в поиск samsung galaxy или galaxy samsung. Скрипт учтет порядок слов и покажет только один результат или вовсе никакого

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<div>Search: <input type="search" class="simple-input" id="isearch" placeholder="Start typing...">
</div>
<br><br><br>
<div id="products"></div>
<script>
var products = [
	
	{name:'Samsung Galaxy s9',
	html:'<div>Samsung Galaxy S9</div>'
	},
		{name:'Galaxy S9 Samsung',
	html:'<div>Galaxy S9 Samsung</div>'
	},
	
	
	];
	</script>
	
	<script>
 	var SLS = {
	products: $('#products'),
	plow:$('#plow'),
	phigh:$('#phigh'),
	isearch:$('#isearch'),
	prod:products,
	sproducts: products,
	page:1,
	limit:12,
	isort:0,
	init:function(){
		SLS.pload(SLS.page,SLS.limit);
		SLS.events();
	},
	pload:function(page,limit){ 
		for(var i=((page-1)*limit);i<(limit*page);i++){ 
			if(SLS.prod[i])
				SLS.products.append($(SLS.prod[i].html));
		}
	},
	sorta:function(type){
			var byPrice = SLS.prod.slice(0);
			byPrice.sort(function(a,b) {
				return a.price - b.price;
			});
			if(type==1)
				byPrice=byPrice.reverse();
			SLS.prod=byPrice; 
			SLS.page=1;
			SLS.products.html('');
			SLS.pload(SLS.page,SLS.limit);
	},
	events:function(){
		$(window).on('scroll',function(){ 
			if($(this).scrollTop()+250>=($(document).height() - window.innerHeight-$('footer').height())){
				SLS.page++;
				SLS.pload(SLS.page,SLS.limit);
			}
		});
		SLS.plow.on('click',function(){
			SLS.isort=0;
			SLS.sorta(SLS.isort);
		});
		SLS.phigh.on('click',function(){
			SLS.isort=1;
			SLS.sorta(SLS.isort);
		});
		SLS.isearch.on('keyup',function(){
			var results = []; 
			var toSearch = SLS.isearch.val();
			if(toSearch=='') { 
				SLS.prod = products;
			}else{
				for(var i=0; i<SLS.sproducts.length; i++) {
					if(SLS.sproducts[i].name.toLowerCase().indexOf(toSearch.toLowerCase())!=-1) {
					 results.push(SLS.sproducts[i]);
					}
				}
				SLS.prod = results;
			}
			SLS.page=1;
			SLS.products.html('');
			SLS.sorta(SLS.isort);
		});
	}
};
SLS.init();
	</script>
</div>

Последний раз редактировалось Alexko64, 25.01.2019 в 12:04.
Ответить с цитированием