Javascript jqGrid-本地阵列数据的搜索
jqGrid中本地数据的工具栏搜索有问题 我在这里找到了早期版本的修复程序,但从我对文档的理解来看,这是从V3.7开始内置的,我使用的是4.4 如果你对田地的名称感兴趣,它是一个羊驼农场牧群管理系统的web界面 为什么要在jquery中使用ajax,而不仅仅是将XML拉入jqGrid?我无法控制的XML格式不好——每次我在jqGrid中尝试它时,它都失败了,因此进行了XML->DOM->Object转换 网格可以完美地加载、显示、分页和排序Javascript jqGrid-本地阵列数据的搜索,javascript,jquery,xml,jqgrid,Javascript,Jquery,Xml,Jqgrid,jqGrid中本地数据的工具栏搜索有问题 我在这里找到了早期版本的修复程序,但从我对文档的理解来看,这是从V3.7开始内置的,我使用的是4.4 如果你对田地的名称感兴趣,它是一个羊驼农场牧群管理系统的web界面 为什么要在jquery中使用ajax,而不仅仅是将XML拉入jqGrid?我无法控制的XML格式不好——每次我在jqGrid中尝试它时,它都失败了,因此进行了XML->DOM->Object转换 网格可以完美地加载、显示、分页和排序 <html> <head> &
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" media="screen" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.23/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="screen" href="jqGrid/css/ui.jqgrid.css" />
<script src="jqGrid/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="jqGrid/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<style>
#list td {
font-size: .6em;
}
.ui-pg-input{
height: initial !important;
}
</style>
<script type="text/javascript">
pacaURL = "/alpaca/proxy.php?url=localhost:9002/rest/alpaca";
$(function(){
var pData = new Array();
$.ajax({
url:pacaURL,
success:function(data){
pacaData = $.parseXML(data);
console.log(pacaData);
$(pacaData).find("AlpacaListing").each(function(){
pData.push({
Name: $(this).find("Name").text(),
Age: FormatDate($(this).find("DOB").text()),
Colour: $(this).find("Colour").text(),
IAR: $(this).find("IAR").text(),
Sex: $(this).find("Sex").text(),
Sire: $(this).find("SireName").text(),
Dam: $(this).find("DamName").text()
});
});
console.log(pData);
makeGrid(pData);
},
complete:function(data){
console.log("COMPLETE");
}
});
});
function makeGrid(pData) {
$("#list").jqGrid({
datatype:'local',
data: pData,
colNames:['Name','Age(M)', 'Colour','IAR','Sex','Sire', 'Dam'],
colModel :[
{name:'Name', index:'Name', width:180},
{name:'Age', index:'Age', width:90, align:'right', sorttype:'int'},
{name:'Colour', index:'Colour', width:150},
{name:'IAR', index:'IAR', width:70, align:'right', sorttype:'int'},
{name:'Sex', index:'Sex', width:70},
{name:'Sire', index:'Sire', width:180},
{name:'Dam', index:'Dam', width:180}
],
pager: '#pager',
rowNum:20,
rowList:[10,20,30],
loadonce: true,
sortname: 'Name',
sortorder: 'desc',
viewrecords: true,
gridview: true,
caption: 'The Herd'
});
$('#list').jqGrid('filterToolbar', { stringResult:true, searchOnEnter: false });
}
function FormatDate(sqlDate){
b=new Date(sqlDate);
d= new Date(new Date() - b);
return (d.getYear() - 70) * 12 + d.getMonth();
}
</script>
</head>
<body>
<table id="list"><tr><td/></tr></table>
<div id="pager"></div>
</body>
</html>
当我开始在其中一个搜索框中键入任何内容时,所有内容都会空白
我遗漏了什么?几个月后,但刚刚看到杰夫的评论,建议我添加一个答案,而不仅仅是对我的错误的评论。这是 问题在于用户的错误,或者更确切地说,是用户的解释
代码运行得很好,只是不是我所期望的那样。jqgrid中搜索的默认行为是将输入的搜索词视为区分大小写的,并在几个月后进行简单的从左到右比较,但刚刚看到Jeff的评论,建议我添加一个答案,而不仅仅是关于我的错误的评论。这是 问题在于用户的错误,或者更确切地说,是用户的解释
代码运行得很好,只是不是我所期望的那样。jqgrid中搜索的默认行为是将输入的搜索词视为区分大小写的,并进行简单的从左到右比较D'oh。。。用户错误-RTFM。我没有意识到搜索是区分大小写和LTR的。它工作得很好-只是为了一个与我期望的完全不同的定义。如果你把它作为你问题的答案,那将是非常好的,这样其他与你有类似问题的人可以从你的经验中受益:D'oh。。。用户错误-RTFM。我没有意识到搜索是区分大小写和LTR的。它工作得很好-只是为了一个与我期望的完全不同的定义。如果你把它作为你问题的答案,那就太好了,这样其他与你有类似问题的人可以从你的经历中受益: