Javascript GridView中的搜索选项,无需搜索按钮
我有一个显示数据的网格,我需要一个搜索过滤器,当我们键入时自动过滤。不需要搜索按钮。我尝试了一些我发现的JS代码,但似乎不起作用Javascript GridView中的搜索选项,无需搜索按钮,javascript,jquery,asp.net,sql-server,gridview,Javascript,Jquery,Asp.net,Sql Server,Gridview,我有一个显示数据的网格,我需要一个搜索过滤器,当我们键入时自动过滤。不需要搜索按钮。我尝试了一些我发现的JS代码,但似乎不起作用 <script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script src="jquery/ASPSnippets_Pager.min.js"></script
<script type="text/javascript"src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="jquery/ASPSnippets_Pager.min.js"></script>
<script src="ASPSnippets_Pager.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
GetStores(1);
});
$("[id*=txtSearch]").live("keyup", function () {
GetStores(parseInt(1));
});
$(".Pager .page").live("click", function () {
GetStores(parseInt($(this).attr('page')));
});
function SearchTerm() {
return jQuery.trim($("[id*=txtSearch]").val());
};
function GetStores(pageIndex) {
$.ajax({
type: "POST",
url: "Default.aspx/GetStores",
data: '{searchTerm: "' + SearchTerm() + '", pageIndex: ' + pageIndex + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response.d);
},
error: function (response) {
alert(response.d);
}
});
}
var row;
function OnSuccess(response) {
var xmlDoc = $.parseXML(response.d);
var xml = $(xmlDoc);
var Stores = xml.find("Stores");
if (row == null) {
row = $("[id*=GridView1] tr:last-child").clone(true);
}
$("[id*=GridView1] tr").not($("[id*=GridView1] tr:first-child")).remove();
if (Stores.length > 0) {
$.each(Stores, function () {
var customer = $(this);
$("td", row).eq(0).html($(this).find("<%# Eval("zone") %>").text());
$("td", row).eq(1).html($(this).find("<%# Eval("displayName") %>").text());
$("td", row).eq(0).html($(this).find("StoreName").text());
$("td", row).eq(1).html($(this).find("ZoneName").text());
$("td", row).eq(0).html($(this).find("StoreNames").text());
$("td", row).eq(1).html($(this).find("ZoneNames").text());
$("[id*=GridView1]").append(row);
row = $("[id*=GridView1] tr:last-child").clone(true);
});
var pager = xml.find("Pager");
$(".Pager").ASPSnippets_Pager({
ActiveCssClass: "current",
PagerCssClass: "pager",
PageIndex: parseInt(pager.find("PageIndex").text()),
PageSize: parseInt(pager.find("PageSize").text()),
RecordCount: parseInt(pager.find("RecordCount").text())
});
$(".ContactName").each(function () {
var searchPattern = new RegExp('(' + SearchTerm() + ')', 'ig');
$(this).html($(this).text().replace(searchPattern, "<span class = 'highlight'>" + SearchTerm() + "</span>"));
});
} else {
var empty_row = row.clone(true);
$("td:first-child", empty_row).attr("colspan", $("td", row).length);
$("td:first-child", empty_row).attr("align", "center");
$("td:first-child", empty_row).html("No records found for the search criteria.");
$("td", empty_row).not($("td:first-child", empty_row)).remove();
$("[id*=GridView1]").append(empty_row);
}
};
</script>
$(函数(){
(一);
});
$(“[id*=txtSearch]”)。live(“keyup”,函数(){
GetStores(parseInt(1));
});
$(“.Pager.page”).live(“单击”,函数(){
GetStores(parseInt($(this).attr('page'));
});
函数SearchTerm(){
返回jQuery.trim($(“[id*=txtSearch]”)和.val();
};
函数GetStores(页面索引){
$.ajax({
类型:“POST”,
url:“Default.aspx/GetStores”,
数据:{searchTerm:“+searchTerm()+”,pageIndex:“+pageIndex+”}”,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:一旦成功,
故障:功能(响应){
警报(response.d);
},
错误:函数(响应){
警报(response.d);
}
});
}
var行;
函数OnSuccess(响应){
var xmlDoc=$.parseXML(response.d);
var xml=$(xmlDoc);
var Stores=xml.find(“Stores”);
if(行==null){
行=$(“[id*=GridView1]tr:last child”).clone(true);
}
$(“[id*=GridView1]tr”)。不是($(“[id*=GridView1]tr:第一个子项”)。删除();
如果(Stores.length>0){
$。每个(存储、功能(){
var customer=$(此值);
$(“td”,row.eq(0.html($(this.find)(“”.text());
$(“td”,row.eq(1).html($(this.find)(“”.text());
$(“td”,row.eq(0.html($(this.find)(“StoreName”).text());
$(“td”,row.eq(1).html($(this.find)(“ZoneName”).text());
$(“td”,row.eq(0.html($(this.find)(“StoreNames”).text());
$(“td”,row.eq(1).html($(this.find)(“ZoneNames”).text());
$(“[id*=GridView1]”。追加(行);
行=$(“[id*=GridView1]tr:last child”).clone(true);
});
var pager=xml.find(“pager”);
$(“.Pager”).ASPSnippets\u Pager({
ActiveCssClass:“当前”,
PagercsClass:“寻呼机”,
PageIndex:parseInt(pager.find(“PageIndex”).text()),
PageSize:parseInt(pager.find(“PageSize”).text()),
RecordCount:parseInt(pager.find(“RecordCount”).text())
});
$(“.ContactName”)。每个(函数(){
var searchPattern=newregexp(“(“+SearchTerm()+”)”,“ig”);
$(this).html($(this).text().replace(searchPattern,“+SearchTerm()+”);
});
}否则{
var empty_row=row.clone(true);
$(“td:first child”,空_行).attr(“colspan”,$(“td”,行).length);
$(“td:first child”,空行).attr(“align”,“center”);
$(“td:first child”,空_行).html(“未找到搜索条件的记录”);
$($,空_行)。不是($($($,第一个子,空_行))。删除();
$(“[id*=GridView1]”。追加(空行);
}
};
我试过了,但是页面一直在加载,似乎没有停止。我正在寻找替代方案。如果出现任何错误,请检查您的控制台。。在
success
函数上进行调试检查Default.aspx/GetStores
web方法中的调试命中率
您在response.d
中得到了什么响应?实际上我正在寻找一种替代方法,我不想使用此代码,因为我不理解它。。。我试过了,但是调试没有进入调试阶段point@Curiousdev你知道做这件事的其他方法吗?在gridview中的搜索选项不带搜索按钮??您可以使用或或许多其他选项,但它仍然使用jquery,因此您必须坚持使用jquery来实现这一点您认为我必须感谢您:)