Yet Another Autocomplete

Yet Another Autocomplete
 点击下载

I created this plugin because I was not happy with any of the other ones. This plugin will give you simple, clean autocomplete functionality on the selected text box.

Here's the code:

HTML File:

<form id="myform">
   <input type="text" name="my_textbox" id="my_textbox" />
</form>
<script type="text/javascript">
<!--
$(function()  {
   var data = {
      fn : 'lookup'
   };
   var options = {
      min_length : 3,
      error_responses : [
         "No results.",
         "Too many results."
      ]
   };
   $("#suggest").suggest("search.php", data, options);
});
-->
</script>

 

Example server-side PHP script, search.php:

<?php
// Prevent caching
header("Cache-Control: no-cache, must-revalidate");  
// HTTP/1.1
header("Expires: Jan 1, 2000");  
// Date in the past
$fn          = $_GET['fn'
];
$allowed_fns = array('lookup'
);
if (!
in_array($fn, $allowed_fns
))  { exit; }
print
call_user_func($fn
);

function
lookup
()  {
  
$q = valueIfSet($_GET['q'
]);
  
$attrs = array("uid", "givenname", "sn"
);
  
$filter = "level03=95C"
;
   try {
     
$results = your_ldap_lookup_function($q, $attrs, $filter, true, 0, 1
);
   } catch (
Exception $e
)  {
      return
"Too many results."
;
   }
   if (
count($results) === 0
)  {
      return
"No results."
;
   }
  
$list
= array();
   foreach (
$results as $result
)  {
     
$sn  = $result['sn'
];
     
$gn  = $result['givenname'
];
     
$uid = $result['uid'
];
     
$name = "$sn, $gn ($uid)"
;
     
array_push($list, $name
);
   }
   return
implode("\n", $list
);
}
?>

 

 

转载请注明:代码家园 » Yet Another Autocomplete

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)