search.jsp 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <div class="datagrid-toolbar" id="_searchButton">
  3. <span style="float:right;margin-bottom:4px;">
  4. <span>
  5. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-search" onclick="_search_page_search()">查询</a>
  6. </span>
  7. <span>
  8. <a href="#" class="easyui-linkbutton" plain="true" icon="icon-reload " onclick="_search_page_reset()">重置</a>
  9. </span>
  10. </span>
  11. </div>
  12. <%--需要设置_gridId--%>
  13. <%--条件div 必须 name="searchColums"--%>
  14. <script src="plug-in/Validform/js/Validform_v5.3.1_min_zh-cn.js"></script>
  15. <script src="plug-in/Validform/js/Validform_Datatype_zh-cn.js"></script>
  16. <script src="plug-in/Validform/js/datatype_zh-cn.js"></script>
  17. <script>
  18. $(function() {
  19. var datagrid = $("#"+_gridId+'tb');
  20. var searchColumns = $("div[name='searchColums']");
  21. datagrid.prepend(searchColumns);
  22. // datagrid.children(".datagrid-toolbar").children("span:first").after($("div[name='searchButton']").html());
  23. var toolBar =datagrid.children(".datagrid-toolbar").children("span:first");
  24. var searchButton = $("#_searchButton");
  25. if(toolBar.length>0){
  26. toolBar.after(searchButton.html());
  27. searchButton.remove();
  28. }else {
  29. searchButton.find('span').css('float','none');
  30. searchColumns.after(searchButton);
  31. }
  32. datagrid.find(':input').bind('keyup', function(event) {
  33. if (event.keyCode == "13") {
  34. //回车执行查询
  35. _search_page_search();
  36. }
  37. });
  38. $('div[name="searchColums"] table tr:gt(0) td').each(function () {
  39. $(this).css('padding-top','5px');
  40. })
  41. });
  42. function _search_page_search(){
  43. // var datagrid = $("#"+_gridId);
  44. var searchForm = $('#_searchPageForm');
  45. var searchColumns = $("div[name='searchColums']");
  46. if(searchForm.length==0){
  47. var form=$('<form onsubmit="return false"></form>');
  48. form.attr('id','_searchPageForm');
  49. searchColumns.before(form);
  50. form.append(searchColumns);
  51. searchForm = form;
  52. }
  53. var formCheck=searchForm.Validform({
  54. tiptype : function(msg,o){
  55. if(o.type==3){
  56. tip(msg);
  57. o.obj.focus();
  58. }
  59. }
  60. }).resetStatus().check(false);
  61. if(!formCheck){
  62. return;
  63. }
  64. if(typeof (pageSearch)=='function' &&!pageSearch()){
  65. return;
  66. }
  67. var options = $('#'+_gridId).datagrid('options');
  68. var queryParams =_getParamObj();
  69. if(!options.url){//autoLoadData=false 时URL为空
  70. var _url = _actionUrl+'&field=';
  71. var columns = options.columns;
  72. for(var i=0;i<columns.length;i++){
  73. var columnArray = columns[i];
  74. for(var j=0;j<columnArray.length;j++){
  75. _url+=columnArray[j].field+',';
  76. }
  77. }
  78. $("#"+_gridId).datagrid({
  79. url:_url,
  80. queryParams:queryParams
  81. });
  82. }else {
  83. $("#"+_gridId).datagrid('reload',queryParams);
  84. }
  85. }
  86. function _search_page_reset() {
  87. var searchColumns = $("div[name='searchColums']");
  88. searchColumns.find(':input,select').each(function() {
  89. var t = $(this);
  90. if(t.attr('reset')=='false'){
  91. return;
  92. }
  93. if(t.attr('type')=='radio'){
  94. t.removeAttr('checked');
  95. }else {
  96. $(this).val('');
  97. }
  98. });
  99. var queryParams =_getParamObj();
  100. $("#"+_gridId).datagrid('reload',queryParams);
  101. }
  102. function _getParamObj() {
  103. var queryParams = {};
  104. $("#"+_gridId+'tb').find(':input ,select').each(function() {
  105. var name = $(this).attr('name');
  106. if(name){
  107. var type=$(this).attr('type');
  108. if(type=='radio'){
  109. if(!$(this).attr('checked')) return;
  110. }
  111. queryParams[name] = $(this).val();
  112. }
  113. });
  114. return queryParams;
  115. }
  116. function _getParamString(){
  117. var queryParams = _getParamObj();
  118. var s ='';
  119. for(var i in queryParams){
  120. s+='&'+i+"="+encodeURI(queryParams[i]);
  121. }
  122. return s;
  123. }
  124. </script>