API Docs for: 0.2
Show:

window.Bizs.CommonModify Class

Dom 通用 添加删除 逻辑


应用场景
需要动态添加删除内容的地方可以使用这个类

require: JC.BaseMVC

JC Project Site | API docs | demo link

a|button 需要 添加 class="js_autoCommonModify"

可用的 HTML 属性

[cmtpl | cmtemplate] = script selector
指定保存模板的 script 标签
cmitem = selector
添加时, 目标位置的 父节点/兄弟节点
cmaction = string, [add, del], default = add
操作类型
cmappendtype = string, default = after
指定 node 添加 dom 的方法, 可选类型: before, after, appendTo
cmdonecallback = function
添加或删除完后会触发的回调, window 变量域
function cmdonecallback( _ins, _boxParent ){
   var _trigger = $(this);
   JC.log( 'cmdonecallback', new Date().getTime() );
}
cmtplfiltercallback = function
模板内容过滤回调, window 变量域
window.COUNT = 1;
function cmtplfiltercallback( _tpl, _cmitem, _boxParent ){
   var _trigger = $(this);
   JC.log( 'cmtplfiltercallback', new Date().getTime() );
   _tpl = JC.f.printf( _tpl, COUNT++ );
   return _tpl;
}
cmbeforeaddcallabck = function
添加之前的回调, 如果返回 false, 将不执行添加操作, window 变量域
function cmbeforeaddcallabck( _cmitem, _boxParent ){
   var _trigger = $(this);
   JC.log( 'cmbeforeaddcallabck', new Date().getTime() );
   //return false;
}
cmaddcallback = function
添加完成的回调, window 变量域
function cmaddcallback( _ins, _newItem, _cmitem, _boxParent ){
   var _trigger = $(this);
   JC.log( 'cmaddcallback', new Date().getTime() );
}
cmbeforedelcallback = function
删除之前的回调, 如果返回 false, 将不执行删除操作, window 变量域
function cmbeforedelcallback( _cmitem, _boxParent ){
   var _trigger = $(this);
   JC.log( 'cmbeforedelcallback', new Date().getTime() );
   //return false;
}
cmdelcallback = function
删除完成的回调, window 变量域
function cmdelcallback( _ins, _boxParent ){
   JC.log( 'cmdelcallback', new Date().getTime() );
}
cmMaxItems = int
指定最多可添加数量
要使 cmMaxItems 生效, 必须声明 cmAddedItemsSelector
cmAddedItemsSelector = selector
指定查找所有上传项的选择器语法
cmOutRangeMsg = string, default = "最多只能上传 {0}个文件!"
添加数量超出 cmMaxItems 时的提示信息

Constructor

window.Bizs.CommonModify

()

Example:

  <table>
        <tr>
           <td>
               <label class="gray">甲方主体:</label>
           </td>
           <td>
               <input type="text" name="" class="ipt ipt-w320" />&nbsp;
                   <a href="javascript:" 
                   class="green js_autoCommonModify" 
                   cmtemplate="#addMainFirstPartyTpl"
                   cmitem="(tr"
                   cmaction="add"
               >+ 添加</a>
               <em class="error"></em>
           </td>
       </tr>
   </table>
   <script type="text/template" id="addMainFirstPartyTpl" >
    <tr>
       <td>
           <label class="gray">甲方主体:</label>
       </td>
       <td>
           <input type="text" name="" class="ipt ipt-w320" />
           <a href="javascript:" 
               class="green js_autoCommonModify" 
               cmtemplate="#addMainFirstPartyTpl"
               cmitem="(tr"
               cmaction="add"
           >+ 添加</a>
           <a href="javascript:" class="red js_autoCommonModify"
               cmtemplate="#addMainFirstPartyTpl"
               cmitem="(tr"
               cmaction="del"
           >+ 删除</a>
           <em class="error"></em>
       </td>
   </tr>
   </script>

Methods

_beforeInit

() private

初始化之前调用的方法

_init

(
  • _selector
)
private

内部初始化方法

Parameters:

  • _selector Selector

_inited

() private

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

_initHanlderEvent

() private

内部事件初始化方法

getInstance

(
  • _selector
)
CommonModify instance static

获取或设置 CommonModify 的实例

Parameters:

  • _selector Selector

Returns:

CommonModify instance:

isCommonModify

(
  • _selector
)
static

判断 selector 是否可以初始化 CommonModify

Parameters:

  • _selector Selector

Returns:

bool

notification

(
  • _evtName
  • _args
)

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

Parameters:

notificationHandler

(
  • _evtName
  • _args
)

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

Parameters:

Returns:

:

on

(
  • _evtName
  • _cb
)

使用 jquery on 绑定事件

Parameters:

Returns:

CommonModifyInstance

selector

()

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

Returns:

selector

trigger

(
  • _evtName
)

使用 jquery trigger 绑定事件

Parameters:

Returns:

CommonModifyInstance

triggerHandler

(
  • _evtName
  • _args
)

使用 jquery triggerHandler 触发绑定事件

Parameters:

Returns:

: