search by exact value by datatables
When filtering specific columns using a select box, I don't want it to filter smartly.e.g.
If I filter for example,  'Admin', I don't want it to find all the 'Admin' as well as all of the 'Superadmin'.
My code is like:

<script type="text/javascript" >
	(function($) {
						$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
	 // check that we have a column id
	 if ( typeof iColumn == "undefined" ) return new Array();
				
	  // by default we only wany unique data
	  if ( typeof bUnique == "undefined" ) bUnique = true;
		// by default we do want to only look at filtered data
		if ( typeof bFiltered == "undefined" ) bFiltered = true;
				
		 // by default we do not wany to include empty values
		 if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
			// list of rows which we're going to loop through
			var aiRows;
			// use only filtered rows
			if (bFiltered == true) aiRows = oSettings.aiDisplay; 
			  // use all rows
			else aiRows = oSettings.aiDisplayMaster; // all row numbers
			
			// set up data array	
			var asResultData = new Array();
				
			for (var i=0,c=aiRows.length; i<c; i++) {
		           iRow = aiRows[i];
			  var aData = this.fnGetData(iRow);
			  var sValue = aData[iColumn];
					
			   // ignore empty values?
			   if (bIgnoreEmpty == true && sValue.length == 0) continue;
			
			     // ignore unique values?
			   else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
					
				// else push the value onto the result data array
			    else asResultData.push(sValue);
			}
				
			return asResultData;
		}}(jQuery));
			
			
		function fnCreateSelect( aData ){
		  var r='<select><option value=""></option>', i, iLen=aData.length;
		  for ( i=0 ; i<iLen ; i++ ){
		    r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
	            }
		   return r+'</select>';
		}
						
						
		function fnFilterColumn ( i ){
				
		 $('#example').dataTable().fnFilter( 
		   $("#col"+(i+1)+"_filter").val(),i,true
	          );}
						
		/* Custom filtering function which will filter data in column four between two values */
		$.fn.dataTableExt.afnFiltering.push(
		 function( oSettings, aData, iDataIndex ) {
		   var iMin = document.getElementById('min').value * 1;
	            var iMax = document.getElementById('max').value * 1;
		   var iVersion = aData[4] == "-" ? 0 : aData[4]*1;
		   if ( iMin == "" && iMax == "" ){
										              return true;
		   }else if ( iMin == "" && iVersion < iMax ){
										              return true;
		   }
		   else if ( iMin <= iVersion && "" == iMax ){
										              return true;
		   }
		   else if ( iMin <= iVersion && iVersion <= iMax ){
										              return true;
		   }
		return false;
		});
					 
	         $(document).ready(function(){
		  $('#expnd').hide();
		  $('#collapse').click(function(){
		  $('#searching_parameter').hide(2000);
		  $('#collapse').hide();
		  $('#expnd').show();
	        });	
				
	        $('#expnd').click(function(){
		 $('#searching_parameter').show('slow');
		 $('#collapse').show();
		 $('#expnd').hide();
	        });
				
	        $('#example').dataTable( {
		 "bProcessing": true,
		  //"bServerSide": true,
		  "sAjaxSource": "datatabledb.php",
		   "bJQueryUI": true,
		   "sPaginationType": "full_numbers",
		   //"sDom": 'T<"clear">rt',
		   "sDom": 'T<"clear">lfrtip',
		   "oTableTools": {
		       "aButtons": [			
			{
                          "sExtends": "csv",			                     "sButtonText": "Save to CSV"
		          }
			]
		   },
		 "oLanguage": {
		     "sSearch": "Search all columns:"
		  },
		  "aoColumns": [
			null,{ "bSortable": false }, // disable the sorting property for checkbox header
			null,
			null,
			null,
			null,
			null,
			null,
			null,
			null
		]	
              } );
				
		$("#example").dataTable().columnFilter(
	          {  aoColumns: [						                 null,						
                      null,						
                      null,							                 null,						
                      null,
                      null,							                 null,							                {
											                  type: "select",
											                  values: [ 'Owner', 'Superadmin', 'Admin','Agent' ]
										                },
										               null,							               null
		   ]
		}
	 );
				
				
				
	$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
	$("#col3_filter").keyup( function() { fnFilterColumn( 2 ); } );
	$("#col4_filter").keyup( function() { fnFilterColumn( 3 ); } );
	//$("#col5_filter").keyup( function() { fnFilterColumn( 4 ); } );
	//$("#col8_filter").keyup( function() { fnFilterColumn( 7 ); } );
	var oTable = $('#example').dataTable();
	/* Add event listeners to the two range filtering inputs */
	$('#min').keyup( function() { oTable.fnDraw(); } );
	$('#max').keyup( function() {oTable.fnDraw(); } );
	//$('table').dataTable({"bFilter": false});
				
	});
						
	 </script>

Please help me.
search by exact value by datatables
===

When filtering specific columns using a select box, I don't want it to filter smartly.e.g.
If I filter for example,  'Admin', I don't want it to find all the 'Admin' as well as all of the 'Superadmin'.
My code is like:

<script type="text/javascript" >
	(function($) {
						$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
	 // check that we have a column id
	 if ( typeof iColumn == "undefined" ) return new Array();
				
	  // by default we only wany unique data
	  if ( typeof bUnique == "undefined" ) bUnique = true;
		// by default we do want to only look at filtered data
		if ( typeof bFiltered == "undefined" ) bFiltered = true;
				
		 // by default we do not wany to include empty values
		 if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
			// list of rows which we're going to loop through
			var aiRows;
			// use only filtered rows
			if (bFiltered == true) aiRows = oSettings.aiDisplay; 
			  // use all rows
			else aiRows = oSettings.aiDisplayMaster; // all row numbers
			
			// set up data array	
			var asResultData = new Array();
				
			for (var i=0,c=aiRows.length; i<c; i++) {
		           iRow = aiRows[i];
			  var aData = this.fnGetData(iRow);
			  var sValue = aData[iColumn];
					
			   // ignore empty values?
			   if (bIgnoreEmpty == true && sValue.length == 0) continue;
			
			     // ignore unique values?
			   else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
					
				// else push the value onto the result data array
			    else asResultData.push(sValue);
			}
				
			return asResultData;
		}}(jQuery));
			
			
		function fnCreateSelect( aData ){
		  var r='<select><option value=""></option>', i, iLen=aData.length;
		  for ( i=0 ; i<iLen ; i++ ){
		    r += '<option value="'+aData[i]+'">'+aData[i]+'</option>';
	            }
		   return r+'</select>';
		}
						
						
		function fnFilterColumn ( i ){
				
		 $('#example').dataTable().fnFilter( 
		   $("#col"+(i+1)+"_filter").val(),i,true
	          );}
						
		/* Custom filtering function which will filter data in column four between two values */
		$.fn.dataTableExt.afnFiltering.push(
		 function( oSettings, aData, iDataIndex ) {
		   var iMin = document.getElementById('min').value * 1;
	            var iMax = document.getElementById('max').value * 1;
		   var iVersion = aData[4] == "-" ? 0 : aData[4]*1;
		   if ( iMin == "" && iMax == "" ){
										              return true;
		   }else if ( iMin == "" && iVersion < iMax ){
										              return true;
		   }
		   else if ( iMin <= iVersion && "" == iMax ){
										              return true;
		   }
		   else if ( iMin <= iVersion && iVersion <= iMax ){
										              return true;
		   }
		return false;
		});
					 
	         $(document).ready(function(){
		  $('#expnd').hide();
		  $('#collapse').click(function(){
		  $('#searching_parameter').hide(2000);
		  $('#collapse').hide();
		  $('#expnd').show();
	        });	
				
	        $('#expnd').click(function(){
		 $('#searching_parameter').show('slow');
		 $('#collapse').show();
		 $('#expnd').hide();
	        });
				
	        $('#example').dataTable( {
		 "bProcessing": true,
		  //"bServerSide": true,
		  "sAjaxSource": "datatabledb.php",
		   "bJQueryUI": true,
		   "sPaginationType": "full_numbers",
		   //"sDom": 'T<"clear">rt',
		   "sDom": 'T<"clear">lfrtip',
		   "oTableTools": {
		       "aButtons": [			
			{
                          "sExtends": "csv",			                     "sButtonText": "Save to CSV"
		          }
			]
		   },
		 "oLanguage": {
		     "sSearch": "Search all columns:"
		  },
		  "aoColumns": [
			null,{ "bSortable": false }, // disable the sorting property for checkbox header
			null,
			null,
			null,
			null,
			null,
			null,
			null,
			null
		]	
              } );
				
		$("#example").dataTable().columnFilter(
	          {  aoColumns: [						                 null,						
                      null,						
                      null,							                 null,						
                      null,
                      null,							                 null,							                {
											                  type: "select",
											                  values: [ 'Owner', 'Superadmin', 'Admin','Agent' ]
										                },
										               null,							               null
		   ]
		}
	 );
				
				
				
	$("#col1_filter").keyup( function() { fnFilterColumn( 0 ); } );
	$("#col3_filter").keyup( function() { fnFilterColumn( 2 ); } );
	$("#col4_filter").keyup( function() { fnFilterColumn( 3 ); } );
	//$("#col5_filter").keyup( function() { fnFilterColumn( 4 ); } );
	//$("#col8_filter").keyup( function() { fnFilterColumn( 7 ); } );
	var oTable = $('#example').dataTable();
	/* Add event listeners to the two range filtering inputs */
	$('#min').keyup( function() { oTable.fnDraw(); } );
	$('#max').keyup( function() {oTable.fnDraw(); } );
	//$('table').dataTable({"bFilter": false});
				
	});
						
	 </script>

Please help me.