xiaocms ajax,添加的keydown(键盘上的箭头上/下)对于AJAX Live搜索PHP

这篇博客探讨了如何使用HTML、CSS和JavaScript(jQuery)实现动态搜索功能。通过AJAX与PHP后端进行交互,实时显示搜索结果。文章详细介绍了相关样式设置和事件处理,包括下拉列表的导航功能,以及在用户输入时如何更新搜索结果。
摘要由CSDN通过智能技术生成

在HTML头:

#livesearch {

min-height: 155px;

}

#livesearch a:hover {

text-decoration: none;

background-color: rgba(0,0,0,0.05);

}

#livesearch a {

text-transform: capitalize;

font-size: inherit;

padding: 5px 13px;

display: block;

}

#livesearch .selected {

text-decoration: none;

background-color: rgba(0,0,0,0.05);

}

HTML表单:

AJAX功能:

function showResult(str) {

if (str.length==0) {

document.getElementById("livesearch").innerHTML="";

document.getElementById("livesearch").style.border="0px";

return;

}

if (window.XMLHttpRequest) {

xmlhttp=new XMLHttpRequest();

} else {

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function() {

if (this.readyState==4 && this.status==200) {

document.getElementById("livesearch").innerHTML=this.responseText;

}

}

xmlhttp.open("GET","livesearch.php?q="+str,true);

xmlhttp.send();

}

的Jquery: 使用AJAX + jQuery的

$(document).ready(function ($) {

$("body").on("click", "#livesearch a", function(e){

e.preventDefault();

var data = $(this).text();

$(".search").val(data);

$('#livesearch').html('');

});

});

如果你想使用的,而不是AJAX showResult(str)数据检索livesearch.php的话,你可以用波纹管代码:

$(document).ready(function ($) {

$('.search').keyup(function (e) {

var key = e.keyCode;

if (key == 40 || key == 38 || key == 13) {

return false;

}

var str = $('.search').val();

showResult(str);

});

$('#myfrm').on("keydown", ".search", function (e) {

var $listItems = $('#livesearch a');

var key = e.keyCode,

$selected = $listItems.filter('.selected'),

$current;

if (key != 40 && key != 38 && key != 13)

return;

//$listItems.removeClass('selected');

if (key == 40) // Down key

{

$listItems.removeClass('selected');

if (!$selected.length || $selected.is(':last-child')) {

$current = $listItems.eq(0);

} else {

$current = $selected.next();

}

console.log("Current : "+$current);

}

else if (key == 38) // Up key

{

$listItems.removeClass('selected');

if (!$selected.length || $selected.is(':first-child')) {

$current = $listItems.last();

} else {

$current = $selected.prev();

}

}

else if (key == 13) // Enter key

{

$current = $listItems.filter('.selected');

$current.trigger('click');

return false;

}

$current.addClass('selected');

});

});

从livesearch数据检索input搜索框中数据

$(document).ready(function ($) {

$('.search').keyup(function (e) {

var key = e.keyCode;

if (key == 40 || key == 38 || key == 13) {

return false;

}

var str = $('.search').val();

$.ajax({

context: this,

url: 'livesearch.php',

type: 'get',

dataType: 'html',

data: {

q: str,

},

beforeSend: function() {

console.log("Loadding...");

}

}).done(function (response) {

$("#livesearch").html(response);

});

});

});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值