API Docs for: 0.2
Show:

window.Bizs.MultiUpload Class

上传多个文件, 基于 JC.AjaxUpload

require: jQuery , JC.BaseMVC , JC.AjaxUpload

JC Project Site | API docs | demo link

页面只要引用本脚本, 默认会自动处理 div class="js_bizMultiUpload"

可用的 HTML attribute

bmuItemLimit = int, default = 0
限制上传的数量, 0 为不限制, 非 0 为限制的数量
bmuBoxSelector = selector, default = '|.bmuBoxSelector'
上传内容的父容器
bmuTplSelector = selector, default = 组件生成
上传内容的模板内容, {0} = file url, {1} = file name
bmuAjaxUploadSelector = selector, default = '|.js_compAjaxUpload'
JC.AjaxUpload 的选择器
bmuItemDelegate = selector, default = '>'
bmuBoxSelector 的子级标签
bmuRemoveDelegate = selector, default = '.js_removeUploadItem'
删除子级标签的选择器
bmuRemoveItemParentSelector = selector, default = '('
相对于 bmuRemoveDelegate 的子级标签父选择器
bmuItemAddedCallback = function
添加上传内容后的回调
function bmuItemAddedCallback( _newItem, _json, _boxSelector ){
   var _bmuIns = this;
}
bmuItemDeletedCallback = function
删除上传内容后的回调
function bmuItemDeletedCallback( _deletedItem, _boxSelector ){
   var _bmuIns = this;
}

Constructor

window.Bizs.MultiUpload

(
  • _selector
)

Parameters:

Example:

<div class="js_bizMultiUpload" bmuBoxSelector="|.uploadItemBox" bmuTplSelector="|script" bmuItemDelegate=">" bmuRemoveDelegate=".js_removeUploadItem" bmuRemoveItemParentSelector="(" bmuAjaxUploadSelector="|.js_compAjaxUpload" bmuItemLimit="2" > <div> <input type="hidden" class="ipt ipt-w180 js_compAjaxUpload" value="" cauStyle="w1" cauButtonText="上传资质文件" cauUrl="../_demo/data/handler.php" cauFileExt=".jpg, .jpeg, .png, .gif" cauFileName="file" cauValueKey="url" cauLabelKey="name" cauProgressBox="/span.AUProgressBox" /> <span class="AUProgressBox" style="display:none;"> <button type="button" class="AUProgress"><div class="AUPercent"></div></button> <button type="button" class="AUCancelProgress"></button> </span> .jpg, .jpeg, .png, .gif (最多上传2个) </div> <dl class="uploadItemBox"> </dl> <script type="text/template"> <dd class="js_multiUploadItem"> <input type="hidden" name="file[]" value="{0}" class="js_multiUploadHidden" /> <a href="{0}" target="_blank"><label class="js_multiUploadLabel">{1}</label></a> <button type="button" class="AURemove js_removeUploadItem"></button> </dd> </script> </div>

Methods

_beforeInit

() private

初始化之前调用的方法

_init

(
  • _selector
)
private

内部初始化方法

Parameters:

  • _selector Selector

_inited

() private

内部初始化完毕时, 调用的方法

_initHanlderEvent

() private

内部事件初始化方法

init

(
  • _selector
)
Array of MultiUploadInstance static

初始化可识别的 MultiUpload 实例

Parameters:

  • _selector Selector

Returns:

Array of MultiUploadInstance:

notification

(
  • _evtName
  • _args
)

通知选择器有新事件
JC 组件以后不会在 HTML 属性里放回调, 改为触发 selector 的事件

Parameters:

notificationHandler

(
  • _evtName
  • _args
)

通知选择器有新事件, 有返回结果
JC 组件以后不会在 HTML 属性里放回调, 改为触发 selector 的事件

Parameters:

Returns:

:

on

(
  • _evtName
  • _cb
)

使用 jquery on 绑定事件

Parameters:

Returns:

BaseMVCInstance

selector

()

获取 显示 BaseMVC 的触发源选择器, 比如 a 标签

Returns:

selector

trigger

(
  • _evtName
  • _args
)

使用 jquery trigger 触发绑定事件

Parameters:

Returns:

BaseMVCInstance

triggerHandler

(
  • _evtName
  • _args
)

使用 jquery triggerHandler 触发绑定事件

Parameters:

Returns:

:

updateStatus

()

更新按钮的状态

Events

AjaxDone

ajax 上传完毕后触发的事件

CheckItemLimit

修正按钮状态的事件

inited

Bizs.MultiUpload 初始化后触发的事件

ItemAdded

添加上传内容后触发的事件

ItemDeleted

删除上传内容后触发的事件