MediaWiki:Common.js: Difference between revisions

From CTMS
(Added searchable tables)
 
(Added searchable tables)
Line 6: Line 6:
var found = 'false';   
var found = 'false';   
$(this).each(function(){   
$(this).each(function(){   
if (!$(this).find('th').length > 0) {
  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0)   
  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0)   
  {   
  {   
  found = 'true';   
  found = 'true';   
  }   
  }   
} else {
// Always keep the header row
found = 'true';
}
});   
});   
if(found == 'true')   
if(found == 'true')   

Revision as of 10:14, 24 July 2024

/* Any JavaScript here will be loaded for all users on every page load. */

// Javascript/jQuery code for searching tables
function search_table(tableID, value){  
	$('#'+tableID+' tr').each(function(){  
		 var found = 'false';  
		 $(this).each(function(){  
			if (!$(this).find('th').length > 0) {
			  if($(this).text().toLowerCase().indexOf(value.toLowerCase()) >= 0)  
			  {  
				   found = 'true';  
			  }  
			} else {
				// Always keep the header row
				found = 'true';
			}
		 });  
		 if(found == 'true')  
		 {  
			  $(this).show();  
		 }  
		 else  
		 {  
			  $(this).hide();  
		 }  
	});  
}  
$(document).ready(function(){
	$("table.apt-searchable").each(function(index, element) {
		if (this.id !== '') {
			$('<input type="text" id="'+this.id+'_'+index+'" onkeyup="search_table(\''+this.id+'\',$(this).val())" placeholder="Search the table..">').insertBefore($(this));
		}
	});
});