1/* 2 SearchTable 3 version 0.1 alpha 4 22nd October 2010 5 Robert Henjes, http://www.rhenjes.de 6 7 22 Okt 2010 8 9 10 Code partly copied from: http://www.vonloesch.de/node/23 11 Thanks to many, many people for contributions and suggestions. 12*/ 13 14searchtable = { 15 filtersingle: function(term, _id, cellNr) { 16 var suche = term.value.toLowerCase(); 17 var table = searchtable.getTableByID(_id); 18 var ele; 19 for (var r = 1; r < table.rows.length; r++){ 20 ele = table.rows[r].cells[cellNr].innerHTML.replace(/<[^>]+>/g,""); 21 if (ele.toLowerCase().indexOf(suche)>=0 ) 22 table.rows[r].style.display = ''; 23 else table.rows[r].style.display = 'none'; 24 } 25 }, 26 27 filterwords: function(phrase, _id) { 28 var words = phrase.value.toLowerCase().split(" "); 29 var table = searchtable.getTableByID(_id); 30 var ele; 31 for (var r = 1; r < table.rows.length; r++){ 32 ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,""); 33 var displayStyle = 'none'; 34 for (var i = 0; i < words.length; i++) { 35 if (ele.toLowerCase().indexOf(words[i])>=0) 36 displayStyle = ''; 37 else { 38 displayStyle = 'none'; 39 break; 40 } 41 } 42 table.rows[r].style.display = displayStyle; 43 } 44 }, 45 46 filterall: function(term, _id) { 47 var searchstr = term.value.toLowerCase(); 48 var table = searchtable.getTableByID(_id); 49 var ele; 50 for (var r = 1; r < table.rows.length; r++){ 51 ele = table.rows[r].innerHTML.replace(/<[^>]+>/g,""); 52 var displayStyle = 'none'; 53 if (ele.toLowerCase().indexOf(searchstr)>=0) 54 displayStyle = ''; 55 else displayStyle = 'none'; 56 table.rows[r].style.display = displayStyle; 57 } 58 }, 59 60 getTableByID: function(_id) { 61 var _table = document.getElementById(_id).getElementsByTagName('table')[0]; 62 return _table; 63 }, 64 65}; 66