<tr>
<td class="listtitle-up">尿素箱</td>
<td>
<div class="comtainerimg upimg-div floatleft">
<input type="hidden" value="" id="photo-4" name=""/>
</div>
<div class="z_photo floatleft" >
<section class="z_file fl">
<img src="mrm/css/bigimg/a11.png" class="add-img">
<input type="file" name="file" id="file4" class="file" value="" accept="image/jpg,image/jpeg,image/png,image/bmp,image/PNG" multiple style="opacity: 0"/>
</section>
</div>
<a class="removelist" href="javascript:">
<i class="fa fa-trash-o" ></i>
<a>
</td>
</tr>
<aside class="mask works-mask" style="display: none;">
<div class="mask-content">
<h3>删除图片</h3>
<p class="del-p">您确定要删除吗?</p>
<p class="check-p"><span class="del-com wsdel-ok"><i class="glyphicon glyphicon-ok"></i> 确定</span><span class="wsdel-no"><i class="glyphicon glyphicon-remove"></i>取消</span></p>
</div>
</aside>


$(function(){
var delParent;
var defaults = {
fileType : ["jpg","png","bmp","jpeg","PNG"], // 上传文件的类型
fileSize : 1024 * 1024 * 10 // 上传文件的大小 10M
};
/*点击图片的文本框*/
var j=0;
$(document).on(\'change\',\'.file\',function(){
var imgsrc= "";//声明图片的路径
var creatarry=new Array();
// $(".file").change(function(){alert("1");
var idFile = $(this).attr("id");
var file = document.getElementById(idFile);
var imgContainer = $(this).parents(".z_photo").siblings(\'.comtainerimg\'); //存放图片的父亲元素
var fileList = file.files; //获取的图片文件
console.log(fileList+"======filelist=====");
var input = $(this).parent();//文本框的父亲元素
var imgArr = [];
//遍历得到的图片文件
var numUp = imgContainer.find(".up-section").length;
var totalNum = numUp + fileList.length; //总的数量
// 声明新input
var newinput="<input type=\'file\' name=\'file\' id=\'newfile\' class=\'file\' value=\'\' accept=\'image/jpg,image/jpeg,image/png,image/bmp,image/PNG\' multiple style=\'opacity: 0\'/>";
// if(fileList.length > 5 || totalNum > 5 ){
// alert("上传图片数目不可以超过5个,请重新选择"); //一次选择上传超过5个 或者是已经上传和这次上传的到的总数也不可以超过5个
// }
// else if(numUp < 5){
fileList = validateUp(fileList);
for(var i = 0;i<fileList.length;i++){
var imgUrl = window.URL.createObjectURL(fileList[i]);
imgArr.push(imgUrl);
var $section = $("<section class=\'up-section fl loading\'>");
imgContainer.append($section);
var $span = $("<span class=\'up-span\'>");
$span.html(fileList[i].name).appendTo($section);
var $img0 = $("<img class=\'close-upimg\' src=\'/hvdm/r/mrm/css/bigimg/a7.png\'>").on("click",function(event){
event.preventDefault();
event.stopPropagation();
$(".works-mask").show();
delParent = $(this).parent();
});
$img0.appendTo($section);
var $a = $("<a rel=\'lightbox-group\'>");
$a.attr("href",imgArr[i]);
var $img = $("<img class=\'up-img up-opcity\'>");
$img.attr("src",imgArr[i]);
$img.appendTo($a);
$a.appendTo($section);
var $p = $("<p class=\'img-name-p\'>");
$p.html(fileList[i].name).appendTo($section);
var $input = $("<input id=\'taglocation\' name=\'taglocation\' value=\'\' type=\'hidden\'>");
$input.appendTo($section);
var $input2 = $("<input id=\'tags\' name=\'tags\' value=\'\' type=\'hidden\'/>");
$input2.appendTo($section);
// imgsrc+=imgArr[i]+",";//循环 累加href值
imgsrc+=imgArr[i];//循环 累加href值
creatarry.push(imgArr[i]);//将href各个 值存入到数组中
}
var srcval=imgContainer.find("section").siblings(\'input\').val(); //第二次点击添加图片 之前的href链接地址;
if(srcval){//如果有地址 说明是第二次点击效果;
var oldsrc=srcval.split(";"); //将之前存入的 链接 转为数组
oldsrc.concat(creatarry); //并拼接 现在上传点击的图片链接
imgContainer.find("section").siblings(\'input\').val(oldsrc.concat(creatarry).join(\';\'));//并赋给 input值
setTimeout(function(){ //执行加载效果,结束事件
$(".up-section").removeClass("loading");
$(".up-img").removeClass("up-opcity");
},450);
// console.log($(\'.file\').val());$(\'.file\').val(\'\');
$(this).hide();
console.log($(this).val());
$(this).parents(\'.z_file\').append("<input type=\'file\' name=\'file\' id=\'newfile" + j + "\' class=\'file\' value=\'\' accept=\'image/jpg,image/jpeg,image/png,image/bmp,image/PNG\' multiple style=\'opacity: 0\'/>");
j=j+1;
return false;
}
imgContainer.find("section").siblings(\'input\').val(creatarry.join(\';\')+";"+imgContainer.parents("tr").find(".listtitle-up").html());//给隐藏域追加所有href值
if(srcval){alert("0");
var newvalue=imgContainer.find("section").siblings(\'input\').val(creatarry.join(\';\')+";"+imgContainer.parents("tr").find(".listtitle-up").html());
alert("1");
imgContainer.find("section").siblings(\'input\').val(newvalue);
}
// }
setTimeout(function(){
$(".up-section").removeClass("loading");
$(".up-img").removeClass("up-opcity");
},450);
numUp = imgContainer.find(".up-section").length;
if(numUp >= 5){
// $(this).parent().hide();
}
//input内容清空
// $(this).val("");
//限制字符个数
$(".up-span").each(function() {
var maxwidth = 6;
if ($(this).text().length > maxwidth) {
$(this).text($(this).text().substring(0, maxwidth));
$(this).html($(this).html() + \'...\');
}
});
$(this).hide();
console.log($(this).val());
$(this).parents(\'.z_file\').append("<input type=\'file\' name=\'file\' id=\'newfile" + j + "\' class=\'file\' value=\'\' accept=\'image/jpg,image/jpeg,image/png,image/bmp,image/PNG\' multiple style=\'opacity: 0\'/>");
j=j+1;
console.log(j);
});
$(".z_photo").delegate(".close-upimg","click",function(){
$(".works-mask").show();
delParent = $(this).parent();
imgsrcs=$(this).parents("section").siblings(\'input\');
});
$(".wsdel-ok").click(function(){
$(".works-mask").hide();
var numUp = delParent.siblings().length;
// var srcall=imgsrcs.val();
if(numUp < 6){
delParent.parent().find(".z_file").show();
}
var srcinput=delParent.siblings(\'input\');//声明 被删除的 行中的隐藏input
var srcall=delParent.siblings(\'input\').val();//声明input的值
var srcallarry=srcall.split(\';\');//将input的val值转为数组
var thissrc=delParent.find(\'a\').attr(\'href\'); //查找要删除的图片链接值
delParent.remove(); //移除 section 标签域
// var nullarry=new Array();//声明空 数组
for(var j=0;j<=srcallarry.length;j++){//循环 input中 的val值 ,除需要删除的链接值
if(srcallarry[j]==thissrc){
srcallarry.splice(j,1);
j=j-1;
// nullarry.push(srcallarry[j]);//将除删除连接的值存入空数组
}
}
srcinput.val(srcallarry.join(\';\'));//新数组的值 赋给input
if(numUp==1){
srcinput.val(\'\');
}
});
$(".wsdel-no").click(function(){
$(".works-mask").hide();
});
function validateUp(files){
var arrFiles = [];//替换的文件数组
for(var i = 0, file; file = files[i]; i++){
//获取文件上传的后缀名
var newStr = file.name.split("").reverse().join("");
if(newStr.split(".")[0] != null){
var type = newStr.split(".")[0].split("").reverse().join("");
console.log(type+"===type===");
if(jQuery.inArray(type, defaults.fileType) > -1){
// 类型符合,可以上传
if (file.size >= defaults.fileSize) {
alert(file.size);
alert(\'您这个"\'+ file.name +\'"文件大小过大\');
} else {
// 在这里需要判断当前所有文件中
arrFiles.push(file);
}
}else{
alert(\'您这个"\'+ file.name +\'"上传类型不符合\');
}
}else{
alert(\'您这个"\'+ file.name +\'"没有类型, 无法识别\');
}
}
return arrFiles;
}
})
View Code
