发表于: 2018-07-02 23:24:04

1 497


今天完成的事情:


完成日历插件,加载本地图片,根据日期搜索,

点击编辑跳转对应id链接

 <a ui-sref="list.articleDetail({id:item.id})">编辑</a>


.state("list.articleDetail", {
url: "/articleDetail?id",
templateUrl: "views/articleDetail.html",
controller: "articleDetailController",
resolve: {
loadMyCtrl: _lazyLoad(['css/articleDetail.css','js/controller/articleDetail.js'])
}
})


明天计划的事情:


继续其他条件搜索,上线下线删除等多个,图片上传


遇到的问题:

一开始以为是点击事件调用过滤器实现点击过滤,想不到如何实现。原来是通过点击GET来获得需要的数据

收获:

日历插件,点击编辑跳转对应id链接,input  file


<input type="file" accept="image/png,image/jpeg,image/gif" name="myPic" id="thePic">

在此介绍的input file相关知识为: 上传照片及文件,其中包括单次上传、批量上传、删除照片、增加照片、读取图片、对上传的图片或文件的判断,比如限制图片的张数、限制图片的格式、大小等。选择文件:input:file 选择本地文件,默认为单选,多选为multiple;、

FileReader 的实例拥有 4 个方法,其中 3 个用以读取文件,另一个用来中断读取。下面的表格列出了这些方法以及他们的参数和功能,需要注意的是 ,无论读取成功或失败,方法并不会返回读取结果,这一结果存储在 result属性中。

readAsBinaryStringfile将文件读取为二进制编码
readAsTextfile,[encoding]将文件读取为文本
readAsDataURLfile将文件读取为DataURL
abort(none)终端读取操作
FileReader接口的事件(出自《HTML5学习之FileReader接口》)
事件描述
onabort中断
onerror出错
onloadstart开始
onprogress正在读取
onload成功读取
onloadend读取完成,无论成功失败




bootstrap  日历插件

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

链接这三个文件

$('.form_datetime').datetimepicker({
format: 'yyyy/mm/dd', //显示格式
todayHighlight: 1, //今天高亮
minView: "month", //设置只显示到月份
language: "zh-CN",
startView: 2,
forceParse: 0,
showMeridian: 1,
autoclose: 1 //选择后自动关闭
});


js里写以上代码

选项:


weekStart


Integer. 默认值:0


一周从哪一天开始。0(星期日)到6(星期六)


startDate


Date. 默认值:开始时间


endDate


Date. 默认值:结束时间


autoclose


Boolean. 默认值:false


当选择一个日期之后是否立即关闭此日期时间选择器。


startView


Number, String. 默认值:2, 'month'


日期时间选择器打开之后首先显示的视图。 可接受的值:

•0 or 'hour' 为小时视图

•1 or 'day' 为天视图

•2 or 'month' 为月视图(为默认值)

•3 or 'year'  为年视图

•4 or 'decade' 为十年视图


todayBtn


Boolean, "linked". 默认值: false


如果此值为true 或 "linked",则在日期时间选择器组件的底部显示一个 "Today" 按钮用以选择当前日期。如果是true的话,"Today" 按钮仅仅将视图转到当天的日期,如果是"linked",当天日期将会被选中。


todayHighlight


Boolean. 默认值: false


如果为true, 高亮当前日期。


keyboardNavigation


Boolean. 默认值: true


是否允许通过方向键改变日期。


日期时间选择器提供了键盘导航:


up, down, left, right 方向键


这些方向键中,left/right 向后/向前 一天,up/down 向后/向前 一周。


配合shift键,up/left 向后退一个月,down/right 向前进一个月。


配置ctrl键,up/left 向后退一年,down/right 向前进一年。


Shift+ctrl 和 ctrl 同等效果 - 也就是说,他们不能同时改变月和年,只能单独改变年。


language


String. 默认值: 'en'; 可以通过导入对应语言的js文件来设置语言


forceParse


Boolean. 默认值: true


当选择器关闭的时候,是否强制解析输入框中的值。


 方法:


.datetimepicker(options)


初始化日期时间选择器。


remove


参数: None


移除日期时间选择器。同时移除已经绑定的event、内部绑定的对象和HTML元素。


$('#datetimepicker').datetimepicker('remove');


show


参数: None


显示日期时间选择器。


$('#datetimepicker').datetimepicker('show');


hide


参数: None


隐藏日期时间选择器。


$('#datetimepicker').datetimepicker('hide');


update


参数: None


使用当前输入框中的值更新日期时间选择器。


$('#datetimepicker').datetimepicker('update');


setStartDate


参数:

•startDate (String)


给日期时间选择器设置一个新的起始日期。


$('#datetimepicker').datetimepicker('setStartDate', '2012-01-01');


setEndDate


参数:

•endDate (String)


给日期时间选择器设置结束日期。


$('#datetimepicker').datetimepicker('setEndDate', '2012-01-01');



input类型设为file:

<label for="img_input"></label>

<input id="img_input" type="file"/>1

2



如果想上传多文件,可添加multiple

<input type="file" name="img" multiple="multiple" />

用accept="MIME_type"限制提交的文件类型,用逗号隔开的 MIME 类型列表(服务器端也要最好类型检测双保险),如:
<input type="file" accept="image/gif, image/jpeg" />
<input type="file" accept="image/*"/>1
2
获取文件内容
JavaScript:
var file = document.getElementById('fileToUpload').files[0];1
2
jQuery:
var file = $("#img_input").prop("files")[0];
上传
XMLHttpRequest Level 2添加了一个新的接口FormData。利用FormData对象,我们可以通过JavaScript用一些键值对来模拟一系列表单控件。比起普通的Ajax,使用FormData的最大优点就是我们可以异步上传一个二进制文件。
// 创建
var form_data = new FormData();
// 获取文件
var file_data = $("#img_input").prop("files")[0];
// 把所以表单信息
form_data.append("id", "001");
form_data.append("name", "test");
form_data.append("img", file_data);
$.ajax({
    type: "POST",
    url: "....",
    dataType : "json",
    processData: false,  // 注意:让jQuery不要处理数据
    contentType: false,  // 注意:让jQuery不要设置contentType
    data: form_data
}).success(function(msg) {
    console.log(msg);
}).fail(function(msg) {
    console.log(msg);
});

返回列表 返回列表
评论

    分享到