Linq.js作为js的一大框架还是蛮强大的。因为要从json对象中提取出自己需要的数据信息,同事推荐了linq.js。真心不错,就和sql语句一样根据自己条件进行查询数据。不过百度这方面的资料有点少。
<script src="static/jquery/jquery-1.9.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src="static/linq/jquery.linq-vsdoc.js"></script>
<script type="text/javascript" src="static/linq/jquery.linq.js"></script>
<script type="text/javascript" src="static/linq/jquery.linq.min.js"></script>
<script type="text/javascript" src="static/linq/linq.js"></script>
<script type="text/javascript" src="static/linq/linq.min.js"></script>
linq.js下载地址:http://download.csdn.net/detail/u013147600/9113909
<span style="font-size:14px;"><script type="text/javascript"> //保留多少位小数 function fomatFloat(src,pos){ return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos); } $(document).ready(function() { //查询条件和结果 var queryResult; //companyInfo是一个json格式的对象,parent.whole_year和parent.whole_company 都是变量,其中parent.whole_company的值会是一个中文的字符串,所以前面加了decodeURI()函数 把URI形式转换成string格式。 queryResult= Enumerable.From(companyInfo) .Where("$.year =="+parent.whole_year+"& $.company== decodeURI('"+parent.whole_company+"')") //.Where("$.company== decodeURI('"+parent.whole_company+"')") .OrderBy("$.money") .Select("$.company + ','+$.year+','+$.name+',' + $.money") .ToArray(); for (num in queryResult) { var result= queryResult[num].split(','); var tr = "<tr><td>" + num +"</td> <td>" + result[0] + " </td> <td>" + result[1] + "</td><td>" + result[2] + "</td><td>" + fomatFloat(eval(result[3])/10000,2) +"</td></tr>"; $(".table").append(tr); } }); //查询 function search() { var info = $("#info").attr("value"); var queryResult = Enumerable.From(companyInfo) .Where("$.year == "+info) .OrderBy("$.money") .Select("$.company + ','+$.year+','+$.name+',' + $.money") .ToArray(); //清空表格内容 $('.table tbody').empty(); for (num in queryResult) { var result= queryResult[num].split(','); var tr = "<tr><td>" + num +"</td> <td>" + result[0] + " </td> <td>" + result[1] + "</td><td>" + result[2] + "</td><td>" + fomatFloat(eval(result[3])/10000,2) +"</td></tr>"; $(".table").append(tr); } } </script></span>