Jquery多文件上传控件

ContractedBlock.gif ExpandedBlockStart.gif Code
/*
* you-may jQuery multiupload Plugin
* version: 1.0 (08-APR-2009)
* @requires jQuery v1.3.2 or later

*/
; (
function($) {

    $.fn.multiupload 
= function(options) {

        
var multiupload = this;

        options 
= $.extend({
            fileSelector: 
".file-upload",
            deleteSelector: 
".delete-file"
        }, options 
|| {});

        
var fileNameDataKey = "targetFileName";

        
var addOperate = function(target) {
            
var warp = $("<div></div>");
            multiupload.append(warp);

            warp.append(target);
            target 
= $(target);

            
var deleteButton = $("<a></a>");
            warp.prev().append(deleteButton);
            deleteButton.text(
"剔除");
            deleteButton.attr(
"href""javascript:void(0);");
            deleteButton.data(fileNameDataKey, target.attr(
"name"));
            deleteButton.addClass(options.deleteSelector.substring(
1));
        };

        
var fileCount = function() {
            
return multiupload.find(options.fileSelector).size();
        };

        
var emptyFileCount = function() {
            
return multiupload.find(options.fileSelector).filter(function() {
                
return !$(this).val();
            }).size();
        };

        
var templete = multiupload.find(options.fileSelector + ":first");
        
// addOperate(templete);
        var div = $("<div></div>");
        div.append(templete);
        multiupload.append(div);
        
//alert(multiupload.html());

        
var baseName = templete.attr("name");

        
var count = 1;

        
this.find(options.fileSelector).change(function() {
            
var self = $(this);

            
if (self.val() && emptyFileCount() === 0) {
                
var newFile = self.clone(true);

                self.parent().append(newFile);
                newFile.val(
null);
                newFile.attr(
"name", baseName + ++count);

                addOperate(newFile);
            }

        });

        
this.find(options.deleteSelector).live("click"function() {
            
var self = $(this);
            self.parent().remove();
            
//            var fileName = self.data(fileNameDataKey);
            //            var file = multiupload.find("input[name=" + fileName + "]");

            
//            if (fileCount() === 1) {
            //                file.val(null);
            //            } else {
            //                file.parent().remove();
            //            }

        });

    };



})(jQuery);


ContractedBlock.gif ExpandedBlockStart.gif Code
  <div id="fileUploadContainer">
        
<input type="file" class="file-upload" name="File" />
  
</div>

<%=Html.Script("/fckeditor/fckeditor.js")%>
    
<script type="text/javascript">
        $(document).ready(
function() {
        
//使用
            $("#formAddNews").ajaxForm(); 
            $(
"#fileUploadContainer").multiupload({ fileSelector: ".file-upload" });
        })
    
</script>
效果:

转载于:https://www.cnblogs.com/ycdx2001/archive/2009/06/30/1514197.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值