Bootstrap插件

bootstrap-fileinput:bootstrap 文件上传插件

1、需要导包及汉语支持

<link rel="stylesheet" href="../vendor/bootstrap-fileinput-master/css/fileinput.min.css">
<script src="../vendor/bootstrap-fileinput-master/js/fileinput.min.js"></script>
<script src="../vendor/bootstrap-fileinput-master/js/locales/zh.js"></script>

2、初始化组件

$(document).ready(function() {
    InitFileUpload();
}
function InitFileUpload(){
    	$("#appFile").fileinput({  
            language:'zh',  //设置语言
            uploadUrl:'../../tmarket/appupload.action',  //请求URL
            maxFileCount: 1,  //表示允许同时上传的最大文件个数
            allowedFileExtensions : ['apk', 'ipa' , 'zip'] //限制文件上传格式
        }).on("fileuploaded", function(event, data, previewId, index) {  //文件上传成功后回调函数
            var appData = data.response; //获取服务端返回数据(比如返回的JSON格式字符串)
            appData = eval("("+appData+")");
            $('#appName').val(appData.appName);
            $('#appLink').val(appData.appLink);
        }); 
    }

3、声明一个 file 标签即可

<input id="f_upload" name="image" type="file" multiple/>
<!-- 加了multiple属性就可以支持一次上传多个文件 -->

 

bootstrap-datetimepicker:bootstrap 时间选择插件

1、需要导包及汉语支持

<link rel="stylesheet" href="../vendor/bootstrap-datetimepicker-master/css/bootstrap-datetimepicker.min.css">
<script src="../vendor/bootstrap-datetimepicker-master/js/bootstrap-datetimepicker.min.js"></script>
<script src="../vendor/bootstrap-datetimepicker-master/js/locales/bootstrap-datetimepicker.zh-CN.js"></script>

2、初始化组件

$(document).ready(function() {
    initDatetimepicker();
}
function initDatetimepicker() {
      $('.datetimeAt').datetimepicker({
       	 language: 'zh-CN',//显示中文
       	 format: 'yyyy-mm-dd hh:ii:ss',//显示格式
       	 minView: "month",//设置只显示到月份
       	 initialDate: new Date(),//初始化当前日期
       	 autoclose: true,//选中自动关闭
       	 todayBtn: true//显示今日按钮
       	 })
    }

3、将对应input标签设置为时间格式

<input id="expectationAt" class="datetimeAt" name="ops.expectationAt">

 

bootstrapvalidator:bootstrap 表单验证插件

1、需要导包及汉语支持

<link rel="stylesheet" href="../vendor/bootstrapvalidator-master/dist/css/bootstrapValidator.min.css">
<script src="../vendor/bootstrapvalidator-master/dist/js/bootstrapValidator.min.js"></script>
<script src="../vendor/bootstrapvalidator-master/dist/js/language/zh_CN.js"></script>

2、初始化组件

$(document).ready(function() {
    formValidator();
}
//写入验证规则
function formValidator(){
		$("form").bootstrapValidator({ //获取form表单Id
		      feedbackIcons: { //提示图标
		         valid: 'glyphicon glyphicon-ok',
		         invalid: 'glyphicon glyphicon-remove',
		         validating: 'glyphicon glyphicon-refresh'
		      },
                fields: {
                    pwd(需要验证的字段): {
                        validators: {
                            notEmpty: {//检测非空,radio也可用
                                message: '文本框必须输入'
                            },
                            stringLength: {//检测长度
                                min: 6,
                                max: 30,
                                message: '长度必须在6-30之间'
                            },
                            regexp: {//正则验证
                                regexp: /^[a-zA-Z0-9_\.]+$/,
                                message: '所输入的字符不符要求'
                            },
                            remote: {//将内容发送至指定页面验证,返回验证结果,比如查询用户名是否存在
                                url: '指定页面',
                                message: 'The username is not available'
                            },
                            different: {//与指定文本框比较内容相同
                                field: '指定文本框name',
                                message: '不能与指定文本框内容相同'
                            },
                            emailAddress: {//验证email地址
                                message: '不是正确的email地址'
                            },
                            identical: {//与指定控件内容比较是否相同,比如两次密码不一致
                                field: 'confirmPassword',//指定控件name
                                message: '输入的内容不一致'
                            },
                            date: {//验证指定的日期格式
                                format: 'YYYY/MM/DD',
                                message: '日期格式不正确'
                            },
                            choice: {//check控件选择的数量
                                min: 2,
                                max: 4,
                                message: '必须选择2-4个选项'
                            }
                        }
                    }
                }
            });
	}

3、提交触发验证(本案例使用普通button按钮绑定点击事件来触发Ajax提交数据的方式) 

$('#confirmAdd').on('click',function () { //点击按钮触发提交
    $('form').data("bootstrapValidator").validate(); //当页面按钮为普通的button时,需要手动触发bootstrap验证
    isValid = $('form').data("bootstrapValidator").isValid(); //验证是否通过true/false
    if(!isValid){ //验证是否通过true/false
    	 return false; //没通过结束执行
    }
    $.ajax({
       …………    //通过了继续执行Ajax提交
    })
}

4、重置表单验证,防止再次打开时还停留在上一次验证状态

$("form").data('bootstrapValidator').destroy();//清除当前验证
$('form').bootstrapValidator(formValidator());//重新添加校验

注意:要用BootstrapValidator验证器,必须要按照bootstrap格式来写,要验证的控件用下面的标签及样式包裹。

<div class="form-group">   </div>

 

bootstrap-paginator:bootstrap 分页插件

1、需要导包

<script src="../vendor/bootstrap-paginator/dist/js/bootstrap-paginator.js"></script>

2、JS页面定义分页需要用到的常量

var PAGESIZE = 5; // 每页显示记录数
var TOTALNUM = 0; // 总数据条数
var TOTALPAGES = 0; // 总页数
var NOWPAGE= 1;// 当前页数
var searchObj = new Object(); // 存储查询条件

3、初始化组件

var PAGESIZE = 5; // 每页显示记录数,在页面写死了
var TOTALNUM = 0; // 总数据条数,后面会去后端查询出来实际的数据条数
var TOTALPAGES = 0; // 总页数,后面会根据上面两条数据计算得出
var NOWPAGE= 1;// 当前页数,页面初始化后停留在定位在第1页
function fnInitPagination(){
	var options={
                bootstrapMajorVersion:3, //bootstrap的版本要求
                currentPage:NOWPAGE,//当前页数
                totalPages:TOTALPAGES,//总页数
                numberOfPages:PAGESIZE,//每页记录数
                itemTexts : function(type, page, current) {//设置分页按钮显示字体样式
                    switch (type) {
                    case "first":
                        return "首页";
                    case "prev":
                        return "上一页";
                    case "next":
                        return "下一页";
                    case "last":
                        return "末页";
                    case "page":
                        return page;
                    }
                },
                //分页按钮点击事件,参数page代表该事件绑定所有按钮,如果换成next代表只有下一页按钮绑定该事件
                onPageClicked:function(event,originalEvent,type,page){
                	NOWPAGE = page;
                	gotoPage();
                }
			}
	$("#pageInfo").bootstrapPaginator(options);
}

4、查询总数据条数(TOTALNUM)

function fnInitData(){
	$.ajax({
		url:"getTotalNum.do",
		type:"get",
		dataType:"json",
		data:{
			"userName":searchObj.userName,
			"gender":searchObj.gender,
			"trueName":searchObj.trueName,
			"phoneNumber":searchObj.phoneNumber,
			"email":searchObj.email,
			"qqNumber":searchObj.qqNumber,
			"userStatus":searchObj.userStatus
			},
            success:function(data){
			TOTALNUM = data; //获取总记录条数
			var yushu = TOTALNUM % PAGESIZE;
			if(yushu>0) {  //根据总记录条数和PAGESIZE来计算总页数
				TOTALPAGES = TOTALNUM / PAGESIZE +1; 
			}else {
				TOTALPAGES = TOTALNUM / PAGESIZE; 
			}
			gotoPage(); 
		}
	});
}

5、分页查询

function gotoPage(){
	$.ajax({// 根据page去后台加载数据
        url:"selByPage.do",
        type:"get",
        dataType:"json",
        data:{
        	"nowPage":(NOWPAGE-1)*PAGESIZE,// 前台的NOWPAGE代表页码,而传到后台的nowPage代表数据起始偏移量
        	"pageSize":PAGESIZE,
        	"userName":searchObj.userName,
        	"gender":searchObj.gender,
        	"trueName":searchObj.trueName,
        	"phoneNumber":searchObj.phoneNumber,
        	"email":searchObj.email,
        	"qqNumber":searchObj.qqNumber,
        	"userStatus":searchObj.userStatus
        	}, 
        success:function(data){
        	$("#tableList tbody").find("tr").remove();// 删除所有tr
           	var s = '';
           	for(var i=0;i<data.length;i++){
           		var gender = getGender(data[i].gender);
           		var status = data[i].userStatus=="0"?"启用":"禁用";
	       		s+="<tr><td><input type='checkbox' name='items' value="+data[i].id+"></td>"
	                +"<td style='display:none'>"+data[i].id+"</td>"
	                +"<td>"+data[i].userName+"</td>"
	                +"<td>"+gender+"</td>"
	                +"<td>"+data[i].trueName+"</td>"
	                +"<td>"+data[i].phoneNumber+"</td>"
	                +"<td>"+data[i].qqNumber+"</td>"
	                +"<td>"+data[i].email+"</td>"
	                +"<td>"+status+"</td>"
	                +"<td>"+data[i].userDesc+"</td></tr>";
           	}
           	$("#tableList tbody").append(s);
                fnInitPagination(); //初始化分页组件
        },
		error:function(){
			alert("数据初始化失败");
		}
    });
}

6、条件查询

function searchInfo(){
	$("#confirmSearchBtn").click(function(){
		searchObj.userName = $("#userName ").val();
		searchObj.gender = $('input:radio[name="gender"]:checked').val();
		searchObj.trueName = $("#trueName").val();
		searchObj.phoneNumber = $("#phoneNumber").val();
		searchObj.email = $("#email").val();
		searchObj.qqNumber = $("#qqNumber").val();
		searchObj.userStatus = $("#userStatus").val();
		NOWPAGE= 1; // 查询成功后将页面定位到第一页,否则分页始终停留在当前页
		fnInitData(); // 重新进行分页查询
		});
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mephisto180502

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值