Php jquery ui完成以访问类中的搜索函数
我有一个类,其中有一个用户搜索功能: PHP: 在另一页上: JS:Php jquery ui完成以访问类中的搜索函数,php,jquery,jquery-ui,search,jquery-ui-autocomplete,Php,Jquery,Jquery Ui,Search,Jquery Ui Autocomplete,我有一个类,其中有一个用户搜索功能: PHP: 在另一页上: JS: $(函数(){ jQuery.ajaxSetup({ beforeSend:function(){ $(“#加载程序”).show(); }, 完成:函数(){ $(“#加载程序”).hide(); }, 成功:函数(){} }); $(“#搜索输入”)。自动完成({ 来源:'classes/add_user.class.php', 最小长度:3, 选择:功能(事件、用户界面){ AutoCompleteSelectHand
$(函数(){
jQuery.ajaxSetup({
beforeSend:function(){
$(“#加载程序”).show();
},
完成:函数(){
$(“#加载程序”).hide();
},
成功:函数(){}
});
$(“#搜索输入”)。自动完成({
来源:'classes/add_user.class.php',
最小长度:3,
选择:功能(事件、用户界面){
AutoCompleteSelectHandler(事件,用户界面)
}
});
函数AutoCompleteSelectHandler(事件,ui){
var selectedObj=ui.item;
window.location.href='users.php?uid='+selectedObj.value;
}
});
/*禁用自动完成*/
var标志=1;
功能自动完成(obj){
国际单项体育联合会(旗){
对象setAttribute(“自动完成”、“关闭”);
flag=0;
}
obj.focus();
}
HTML:
在add_user.class.php中,您应该调用函数
private function searchUsers() {
if (isset($_REQUEST['term'])) {
$params = array( ':searchQ' => $_REQUEST['term'] . '%' );
$sql = "SELECT distinct username as suggest, user_id
FROM login_users
WHERE username LIKE :searchQ
OR name LIKE :searchQ
OR user_id LIKE :searchQ
ORDER BY username
LIMIT 0, 5";
$stmt = parent::query($sql, $params);
if ( $stmt->rowCount() > 0 ) {
while($suggest = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data[] = array(
'label' => $suggest['name'] . '(' . $suggest['user_id'] . ')',
'value' => $suggest['user_id']
);
}
echo json_encode($data);
flush();
exit();
}
}
}
<script>
$(function () {
jQuery.ajaxSetup({
beforeSend: function() {
$('#loader').show();
},
complete: function(){
$('#loader').hide();
},
success: function() {}
});
$('#search-input').autocomplete({
source:'classes/add_user.class.php',
minLength:3,
select: function(event, ui) {
AutoCompleteSelectHandler(event, ui)
}
});
function AutoCompleteSelectHandler(event, ui) {
var selectedObj = ui.item;
window.location.href = 'users.php?uid=' + selectedObj.value;
}
});
/* Disable autocomplete */
var flag = 1;
function disAutoComplete(obj){
if(flag){
obj.setAttribute("autocomplete","off");
flag = 0;
}
obj.focus();
}
</script>
<form method="post" id="search-users-form" action="classes/add_user.class.php" class="pull-right">
<div class="control-group">
<div class="controls">
<div class="input-prepend">
<button id="add_new_user_btn" class="btn"><?php _e('Add new user'); ?></button>
<input type="number" class="input-mini" min="0" id="showUsers" name="showUsers" placeholder="<?php _e('Show'); ?>" value="<?php echo !empty($_SESSION['jigowatt']['users_page_limit']) ? $_SESSION['jigowatt']['users_page_limit'] : 10; ?>">
<span class="add-on">
<label for="search-input"><a href="#" data-rel="tooltip-bottom" title="<?php _e('Search by Username, Name, or ID!'); ?>"><i class="icon-search"></i></a></label>
</span>
<input name="search-input" type="text" style="margin:0" class="span2" id="search-input" onclick="disAutoComplete(this);" placeholder="<?php _e('User search'); ?>">
<!--
<input class="span2" style="margin:0" id="username-search" type="text" name="searchUsers" placeholder="<?php _e('User search'); ?>">
-->
</div>
</div>
</div>
</form>
if (isset($_REQUEST['term'])) {
$classObj->searchUsers($_REQUEST['term']);//$classObj of your class
}
// your class
private function searchUsers($term='') {
$params = array( ':searchQ' => $term . '%' );
$sql = "SELECT distinct username as suggest, user_id
FROM login_users
WHERE username LIKE :searchQ
OR name LIKE :searchQ
OR user_id LIKE :searchQ
ORDER BY username
LIMIT 0, 5";
$stmt = parent::query($sql, $params);
if ( $stmt->rowCount() > 0 ) {
while($suggest = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data[] = array(
'label' => $suggest['name'] . '(' . $suggest['user_id'] . ')',
'value' => $suggest['user_id']
);
}
echo json_encode($data);
flush();
exit();
}
}