Revision: 34943
Updated Code
at October 31, 2010 19:28 by nuwak
Updated Code
//удалÑем дубликаты в маÑÑиве
function removeDuplicateElement(arrayName)
{
var newArray=new Array();
label:for(var i=0; i<arrayName.length;i++ )
{
for(var j=0; j<newArray.length;j++ )
{
if(newArray[j]==arrayName[i])
continue label;
}
newArray[newArray.length] = arrayName[i];
}
return newArray;
}
//функции Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸ÑˆÐ½Ð¸Ñ… пробелов
var allSpacesRe = /\s+/g;
var leadingSpacesRe = /^\s+/;
var trailingSpacesRe = /\s+$/;
function removeSpaces(s) { return s.replace(allSpacesRe, ""); }
function trimLeading(s) { return s.replace(leadingSpacesRe, ""); }
function trimTrailing(s) { return s.replace(trailingSpacesRe, ""); }
function trim(s) { return trimLeading(trimTrailing(s)); }
$(document).ready(function(){
//Ñобираем маÑÑив вÑех производителей
var arr_proz=[];
var el=$('.views-table tr');
for(var d=0;d<el.size();d++){
$(el[d]).find('td').each(function(c){
if(c==1){
arr_proz[d]=$(this).text();
}
})
}
arr_proz=removeDuplicateElement(arr_proz);
//формируем Ñелект по производителÑм
var sel='';
$.each(arr_proz,function(index,value){
if(value){
value=trim(value);
//УдалÑем Ñлова в Ñкобках что бы потом поиÑк по регулÑрному выражению прошел без проблем
var opval=value.replace(/\([а-ÑÐ-Я]+\)/g,'');
//alert(opval);
sel+='<option value="'+opval+'">'+value+'</option>';
}
})
sel='<select id="sel"><option value="all">Ð’Ñе</option>'+sel+'</select>';
//добовлÑем форму на Ñтраницу
$('.cols-2').before('<form id="filtertab" name="filtertab">'+sel+' <input type="text" id="minpower" size="10"><input type="text" id="maxpower" size="10"> <input type="submit" id="slight" value="Применить"></form>');
$('#filtertab').submit(function(){
//Ñбор значений
var minPower=$('#minpower').val();
minPower=minPower.replace(/\,/g,'.');
minPower=minPower*1;
var maxPower=$('#maxpower').val();
maxPower=maxPower.replace(/\,/g,'.');
maxPower=maxPower*1;
var se=$('#sel').val();
var re = RegExp('.*'+se+'.*');
if(maxPower==0){maxPower=9999999;}
//поиÑк по таблице
var mpElems=$('.views-table tr');
for(var i=0;i<mpElems.size();i++){
$(mpElems[i]).find('td').each(function(b){
if(b==1){
if(se!='all'){
if(re.test($(this).text())){ $(this).parent().addClass('tabline');
valtr=1;
}
else{$(this).parent().removeClass('tabline');
valtr=0;
}
}else{
$(this).parent().addClass('tabline');
valtr=1;
}
}
if(b==2 && valtr==1){
var pval=$(this).text();
if(minPower<=pval && maxPower>=pval){ $(this).parent().addClass('tabline');
}
else{
$(this).parent().removeClass('tabline');
}
}
})
}
return false;
})
})
Revision: 34942
Updated Code
at October 30, 2010 18:10 by nuwak
Updated Code
//удалÑем дубликаты в маÑÑиве
function removeDuplicateElement(arrayName)
{
var newArray=new Array();
label:for(var i=0; i<arrayName.length;i++ )
{
for(var j=0; j<newArray.length;j++ )
{
if(newArray[j]==arrayName[i])
continue label;
}
newArray[newArray.length] = arrayName[i];
}
return newArray;
}
//функции Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸ÑˆÐ½Ð¸Ñ… пробелов
var allSpacesRe = /\s+/g;
var leadingSpacesRe = /^\s+/;
var trailingSpacesRe = /\s+$/;
function removeSpaces(s) { return s.replace(allSpacesRe, ""); }
function trimLeading(s) { return s.replace(leadingSpacesRe, ""); }
function trimTrailing(s) { return s.replace(trailingSpacesRe, ""); }
function trim(s) { return trimLeading(trimTrailing(s)); }
$(document).ready(function(){
//Ñобираем маÑÑив вÑех производителей
var arr_proz=[];
var el=$('.views-table tr');
for(var d=0;d<el.size();d++){
$(el[d]).find('td').each(function(c){
if(c==1){
arr_proz[d]=$(this).text();
}
})
}
arr_proz=removeDuplicateElement(arr_proz);
//формируем Ñелект по производителÑм
var sel='';
$.each(arr_proz,function(index,value){
if(value){
value=trim(value);
//УдалÑем Ñлова в Ñкобках что бы потом поиÑк по регулÑрному выражению прошел без проблем
var opval=value.replace(/\([а-ÑÐ-Я]+\)/g,'');
//alert(opval);
sel+='<option value="'+opval+'">'+value+'</option>';
}
})
sel='<select id="sel">'+sel+'</select>';
$('.cols-2').before(sel);
$('#sel').change(function(){
var se=$('#sel').val();
//se=se.replace('(','\(');
//se=se.replace(/\)/g,'\)');
var re = RegExp('.*'+se+'.*');
//поиÑк по таблице
var elems=$('.views-table tr');
for(var i=0;i<elems.size();i++){
$(elems[i]).find('td').each(function(b){
if(b==1){
if(re.test($(this).text())){ $(this).parent().addClass('tabline');
}
else{$(this).parent().removeClass('tabline');}
}
})
}
});
})
Revision: 34941
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at October 30, 2010 18:09 by nuwak
Initial Code
//удалÑем дубликаты в маÑÑиве
function removeDuplicateElement(arrayName)
{
var newArray=new Array();
label:for(var i=0; i<arrayName.length;i++ )
{
for(var j=0; j<newArray.length;j++ )
{
if(newArray[j]==arrayName[i])
continue label;
}
newArray[newArray.length] = arrayName[i];
}
return newArray;
}
//функции Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð»Ð¸ÑˆÐ½Ð¸Ñ… пробелов
var allSpacesRe = /\s+/g;
var leadingSpacesRe = /^\s+/;
var trailingSpacesRe = /\s+$/;
function removeSpaces(s) { return s.replace(allSpacesRe, ""); }
function trimLeading(s) { return s.replace(leadingSpacesRe, ""); }
function trimTrailing(s) { return s.replace(trailingSpacesRe, ""); }
function trim(s) { return trimLeading(trimTrailing(s)); }
$(document).ready(function(){
//Ñобираем маÑÑив вÑех производителей
var arr_proz=[];
var el=$('.views-table tr');
for(var d=0;d<el.size();d++){
$(el[d]).find('td').each(function(c){
if(c==1){
arr_proz[d]=$(this).text();
}
})
}
arr_proz=removeDuplicateElement(arr_proz);
//формируем Ñелект по производителÑм
var sel='';
$.each(arr_proz,function(index,value){
if(value){
value=trim(value);
//УдалÑем Ñлова в Ñкобках что бы потом поиÑк по регулÑрному выражению прошел без проблем
var opval=value.replace(/\([а-ÑÐ-Я]+\)/g,'');
//alert(opval);
sel+='<option value="'+opval+'">'+value+'</option>';
}
})
sel='<select id="sel">'+sel+'</select>';
$('.cols-2').before(sel);
$('#sel').change(function(){
var se=$('#sel').val();
//se=se.replace('(','\(');
//se=se.replace(/\)/g,'\)');
var re = RegExp('.*'+se+'.*');
//поиÑк по таблице
var elems=$('.views-table tr');
for(var i=0;i<elems.size();i++){
$(elems[i]).find('td').each(function(b){
if(b==1){
if(re.test($(this).text())){ $(this).parent().addClass('tabline');
}
else{$(this).parent().removeClass('tabline');}
}
})
}
});
})
/*
$(document).ready(function(){
$('#sel option').each(function(i,n){
$(this).click(function(){
$($('.views-table tr').removeClass('tabline').get(i+1)) .addClass('tabline');
});
});
});
*/
/*
$(document).ready(function(){
$("#sel").change(function(){
window.searchString = $("#sel option:selected").val();
var elems = $(".views-table tr .views-field-field-proz-nid");
elems.each(function(){
if (window.searchString == this.innerHTML) $(this.parentNode).addClass("tabline");
else $(this.parentNode).removeClass("tabline");
});
});
});*/
Initial URL
Initial Description
Initial Title
Скрипт подÑветки подходÑщих значений в талице
Initial Tags
Initial Language
JavaScript