>  기사  >  php教程  >  부트스트랩은 쿼리를 구현하는 완벽한 방법입니다.

부트스트랩은 쿼리를 구현하는 완벽한 방법입니다.

高洛峰
高洛峰원래의
2016-12-08 16:36:061181검색

Twitter의 Bootstrap은 현재 가장 인기 있는 프런트엔드 프레임워크입니다. Bootstrap은 HTML, CSS 및 JAVASCRIPT를 기반으로 하며 간단하고 유연하여 웹 개발을 더 빠르게 만듭니다.

더 이상 고민하지 않고 쿼리를 구현하기 위한 부트스트랩 코드를 게시하겠습니다. 구체적인 코드는 다음과 같습니다.

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title><%=request.getParameter("title") %></title> 
</head>
<body>
<!-- 头部引入 -->
<%@ include file="/jsp/public/header.jspf" %>
<div>
<!-- 左侧菜单 -->
<%@ include file="/jsp/public/menu.jsp" %>
<div>
<div>
<div> 
<a href=""><span></span></a> <span></span> <span><%=request.getParameter("title") %></span>
</div>
<!-- 操作部分 -->
<div class="bgroup text-right">
<!-- <s:a action="dataRule_addUI" cssClass="button bPrimary"><i></i>新增</s:a>
<a href="###" class="button bSuccess" onclick="editRule();"><i></i>编辑</a>
<a href="###" class="button bInfo" onclick="collectRule();"><i></i>收藏</a>
<a href="###" class="button bDanger" onclick="delRule();" id="delRuleId"><i></i>删除</a> -->
</div>
<div>
<!-- 表单部分 -->
<form id="taskList_form">
<div>
<c:set var="querywhere" value="state=&#39;1&#39;"/>
<c:if test="${not empty param.pdKey}"><c:set var="querywhere" value="pdKey=&#39;${param.pdKey}&#39;"/></c:if>
流程名称:<OATag:select cssclass="form-control pdKey" name="pdKey" classname="ProcDefExtend" listkey="pdName" otherattr="${not empty param.pdKey?&#39;disabled&#39;:&#39;&#39;}" listvalue="pdKey" querywhere="${querywhere}" value="${param.pdKey}" auth="false"/>
</div>
<div>
开单人:<input name="openUserName" onkeypress="if(event.keyCode==13){$(&#39;#bnt_search&#39;).click();return false;}"/>
</div>
<div class="form-group pdate">
<label for="date">送达时间:</label>
<input class="form-control layer-date" id="start" placeholder="请选择开始日期" name="startDate" />
<i></i>
</div>
<div class="form-group pdate">
<label for="date">至</label>
<input class="form-control layer-date" id="end" placeholder="请选择结束日期" name="endDate"/>
<i></i>
</div>
<%-- <div>
<label for="keywords">关键词:</label>
<s:textfield type="text" cssClass="form-control" name="keyword" id="keywords" value="%{keyword}" placeholder="请输入关键词"/>
</div> --%>
<div> 
<a href="javascript:void(0);" class="button bPrimary" id="bnt_search" onclick="_search();"><i></i>查询</a>
</div>
</form>
<!-- 表格部分 -->
<div>
<div>
<div id="toolbar"><a href="javascript:void(0);" onclick="batchSignTask(&#39;同意&#39;,&#39;ok&#39;);"><i class="icon iconfont"></i>批量同意/提交</a></div>
<table id="taskList_table" class="table-striped table-hover" data-mobile-responsive="true"></table>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
<script type="text/javascript">
var $table = $("#taskList_table"); 
$table.bootstrapTable({
url: &#39;${ctx}/task_list.action&#39;, //请求后台的URL(*)
method: &#39;post&#39;, //请求方式(*)
toolbar: &#39;#toolbar&#39;, //工具按钮用哪个容器
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
contentType: "application/x-www-form-urlencoded",
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1,
pageSize: 10,
pageList: [10, 25, 50, 100, &#39;All&#39;],
smartDisplay: false,//智能显示分页按钮
paginationPreText: "上一页",
paginationNextText: "下一页",
queryParams: function (params) {
return {
rows: this.pageSize,
page: this.pageNumber,
webRequest: true,
/* pdKey:"${not empty param.pdKey?param.pdKey:&#39;&#39;}" */
pdKey:$(".pdKey").val(),
openUserName:$("input[name=&#39;openUserName&#39;]").val(),
startDate:$("input[name=&#39;startDate&#39;]").val(),
endDate:$("input[name=&#39;endDate&#39;]").val()
};
},
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: true, //是否显示所有的列
showRefresh: true, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: true, //是否启用点击选中行
showToggle: true, //是否显示详细视图和列表视图的切换按钮
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
idField : &#39;DBID_&#39;,
sortName : &#39;CREATE_&#39;,
sortOrder : &#39;desc&#39;,
sortable: true, //是否启用排序
columns:[[
{field:&#39;DBID_&#39;,checkbox:true},
{field:&#39;flowImg&#39;,title:&#39;签核图&#39;,width:100,formatter:function(value,rowData,rowIndex){
return &#39;<img src="/common/js/jquery-easyui-1.3.3/themes/icons/workflow.png" style="Cursor:pointer" title="流程图" alt="流程图" onclick="top.tabShow(\&#39;流程图:&#39;+rowData.pdName+&#39;\&#39;,\&#39;${ctx}/workflow/central!trackTask.action?proDbId=&#39;+rowData.PROCINST_+&#39;\&#39;)"/>&#39;; 
}},
{field:&#39;pdName&#39;,title:&#39;流程名称&#39;,sortable:true,width:180},
{field:&#39;flowNo&#39;,title:&#39;编号&#39;,width:200,formatter:function(value,rowData,rowIndex){
var div = &#39;<a href="#" onclick="top.tabShow(\&#39;&#39;+rowData.pdName+&#39;\&#39;,\&#39;/workflow/central!showTaskForm.action?taskId=&#39;+rowData.DBID_+&#39;\&#39;)">&#39;+value+&#39;</a>&#39;; 
return div;
}}, 
{field:&#39;ACTIVITY_NAME_&#39;,title:&#39;关卡名称&#39;,width:200}, 
{field:&#39;keyWord_&#39;,title:&#39;主旨&#39;,width:400},
{field:&#39;username&#39;,title:&#39;开单人&#39;,width:100},
{field:&#39;prevMemberName_&#39;,title:&#39;送出人&#39;,width:100}, 
{field:&#39;CREATE_&#39;,title:&#39;送达时间&#39;,sortable:true,width:200}, 
{field:&#39;TASKSTATE_&#39;,title:&#39;状态&#39;,width:200,formatter:function(value,rowData,rowIndex){
var div = &#39;未读&#39;; 
if("2"==value){
div="已读";
}
return div;
}}
]]
});
//初次5分钟后执行
window.setTimeout(_search, 1000*60*5);
//-处理搜索功能------------------------------------
//搜索按钮绑定回车事件
document.onkeydown = function(event){
if (event.keyCode == 13) {
event.cancelBubble = true;
event.returnValue = false;
_search();
}
} 
function _search() {
$table.bootstrapTable(&#39;refresh&#39;, {url: &#39;${ctx}/task_list.action&#39;}); 
/* var data = null;
var pdKey = $(".pdKey").val();
var openUserName=$("input[name=&#39;openUserName&#39;]").val();
var startDate=$("input[name=&#39;startDate&#39;]").val();
var endDate=$("input[name=&#39;endDate&#39;]").val();
var pageSize = $(".page-size")[0].firstChild.data;
var pageNumber = $(".page-number.active a").text();
if(pdKey!=null){
data={rows:pageSize,page:pageNumber,pdKey:pdKey,openUserName:openUserName,startDate:startDate,endDate:endDate,webRequest: true};
}else{
data={rows:pageSize,page:pageNumber,webRequest:true,pdKey:"${not empty param.pdKey?param.pdKey:&#39;&#39;}"};
}
$.ajax({
url:&#39;${ctx}/workflow/central!findTaskList.action&#39;,
type:&#39;post&#39;,
dataType:&#39;json&#39;,
data:data, 
success:function(json,textstatus){
$table.bootstrapTable(&#39;removeAll&#39;);
$table.bootstrapTable(&#39;load&#39;,json);
}
}); */
}
/**
*批次操作表单
*/
function batchSignTask(signTypeLabel,signType){
var rows = $table.bootstrapTable(&#39;getSelections&#39;);
if(rows.length>0){
var taskId="";
for(var i=0;i<rows.length;i++){
if(taskId!=""){
taskId +=",";
}
taskId += rows[i].DBID_;
}
top.sy.dialogSimp({title:&#39;签核视窗&#39;,queryParams:{&#39;signTypeLabel&#39;:signTypeLabel,&#39;signType&#39;:signType},href : &#39;${ctx}/jsp/workflow/dialog/signCommentWin.jsp&#39;}
,&#39;${ctx}/workflow/central!signTask.action?batchSignTask=1&taskId=&#39;+taskId
,wf_tl_data);
}else{
Confirm.show(&#39;提示&#39;, &#39;请选取要批次操作的数据行!&#39;);
}
}
</script>
<script type="text/javascript">
// 日历控件处理
var start = {
elem: &#39;#start&#39;,
format: &#39;YYYY-MM-DD&#39;,
/* min: laydate.now(), //设定最小日期为当前日期 */
max: &#39;2099-06-16&#39;, //最大日期
istime: true,
istoday: false,
choose: function(datas){
end.min = datas; //开始日选好后,重置结束日的最小日期
end.start = datas //将结束日的初始值设定为开始日
}
};
var end = {
elem: &#39;#end&#39;,
format: &#39;YYYY-MM-DD&#39;,
/* min: laydate.now(), */
max: &#39;2099-06-16&#39;,
istime: true,
istoday: false,
choose: function(datas){
start.max = datas; //结束日选好后,重置开始日的最大日期
}
};
laydate(start);
laydate(end);
laydate.skin(&#39;molv&#39;); 
</script>
</html>

위 내용은 에디터가 소개한 Bootstrap 쿼리 구현에 딱 맞는 방법입니다. 모든 분들께 도움이 되었으면 좋겠습니다


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.