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