Skip to content

Commit 58375bc

Browse files
up Bizs.MoneyTips, add static method format
1 parent 360e2cc commit 58375bc

File tree

7 files changed

+352
-13
lines changed

7 files changed

+352
-13
lines changed

deploy/normal/modules/Bizs.MoneyTips/0.1/MoneyTips.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs_api/classes/window.Bizs.MoneyTips.html

Lines changed: 62 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,10 @@ <h1>window.Bizs.MoneyTips Class</h1>
125125
| <a href='http://jc2.openjavascript.org/docs_api/classes/window.Bizs.MoneyTips.html' target='_blank'>API docs</a>
126126
| <a href='../../modules/Bizs.MoneyTips/0.1/_demo' target='_blank'>demo link</a></p>
127127
<p>input[type=text] 需要 添加 class=&quot;js_bizMoneyTips&quot;
128-
<br />只要带有 class = js_bizMoneyTips 的文本框, 默认会自己初始化 MoneyTips 实例</p>
128+
<br />只要带有 class = js_bizMoneyTips 的文本框, 默认会自动初始化 MoneyTips 实例</p>
129+
<p>
130+
页面载入时, Bizs.MoneyTips 会对 span.js_bmtLabel, label.js_bmtLabel 进行自动格式化
131+
</p>
129132
<p><h2>可用的 HTML 属性</h2></p>
130133
<dl>
131134
<dt>bmtDisplayLabel = selector, default = span</dt>
@@ -188,6 +191,10 @@ <h3>Methods</h3>
188191
<li class="index-item method private inherited">
189192
<a href="#method__initHanlderEvent">_initHanlderEvent</a>
190193
</li>
194+
<li class="index-item method">
195+
<a href="#method_format">format</a>
196+
<span class="flag static">static</span>
197+
</li>
191198
<li class="index-item method">
192199
<a href="#method_getInstance">getInstance</a>
193200
<span class="flag static">static</span>
@@ -285,6 +292,57 @@ <h3 class="name"><code>_initHanlderEvent</code></h3>
285292
<div class="description">
286293
<p>内部事件初始化方法</p>
287294
</div>
295+
</div>
296+
<div id="method_format" class="method item">
297+
<h3 class="name"><code>format</code></h3>
298+
<div class="args">
299+
<span class="paren">(</span><ul class="args-list inline commas">
300+
<li class="arg">
301+
<code>_selector</code>
302+
</li>
303+
<li class="arg">
304+
<code>_outputSelector</code>
305+
</li>
306+
</ul><span class="paren">)</span>
307+
</div>
308+
<span class="returns-inline">
309+
<span class="type"></span>
310+
</span>
311+
<span class="flag static">static</span>
312+
<div class="meta">
313+
<p>
314+
Defined in
315+
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l107"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:107</code></a>
316+
</p>
317+
</div>
318+
<div class="description">
319+
<p>格式化 node 的 value/html</p>
320+
</div>
321+
<div class="params">
322+
<h4>Parameters:</h4>
323+
<ul class="params-list">
324+
<li class="param">
325+
<code class="param-name">_selector</code>
326+
<span class="type">Selector</span>
327+
<div class="param-description">
328+
</div>
329+
</li>
330+
<li class="param">
331+
<code class="param-name">_outputSelector</code>
332+
<span class="type">Selector</span>
333+
<div class="param-description">
334+
<p>指定显示格式化内容的 node, 默认为 selector 本身
335+
<br />, 还可以通过 html 属性 bmtFormatOutput 指定单独的 _outputSelector</p>
336+
</div>
337+
</li>
338+
</ul>
339+
</div>
340+
<div class="returns">
341+
<h4>Returns:</h4>
342+
<div class="returns-description">
343+
<p>_selector</p>
344+
</div>
345+
</div>
288346
</div>
289347
<div id="method_getInstance" class="method item">
290348
<h3 class="name"><code>getInstance</code></h3>
@@ -302,7 +360,7 @@ <h3 class="name"><code>getInstance</code></h3>
302360
<div class="meta">
303361
<p>
304362
Defined in
305-
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l64"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:64</code></a>
363+
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l68"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:68</code></a>
306364
</p>
307365
</div>
308366
<div class="description">
@@ -342,7 +400,7 @@ <h3 class="name"><code>init</code></h3>
342400
<div class="meta">
343401
<p>
344402
Defined in
345-
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l80"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:80</code></a>
403+
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l84"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:84</code></a>
346404
</p>
347405
</div>
348406
<div class="description">
@@ -487,7 +545,7 @@ <h3 class="name"><code>update</code></h3>
487545
<div class="meta">
488546
<p>
489547
Defined in
490-
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l145"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:145</code></a>
548+
<a href="../files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html#l186"><code>..&#x2F;modules&#x2F;Bizs.MoneyTips&#x2F;0.1&#x2F;MoneyTips.js:186</code></a>
491549
</p>
492550
</div>
493551
<div class="description">

docs_api/data.json

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -504,7 +504,7 @@
504504
"namespace": "window.Bizs",
505505
"file": "../modules/Bizs.MoneyTips/0.1/MoneyTips.js",
506506
"line": 4,
507-
"description": "<h2>金额格式化 业务逻辑</h2>\n<br/>应用场景\n<br/>用户在文本框输入金额时, 在指定的 node 显示以逗号分隔的金额\n<p><b>require</b>: \n <a href='window.jQuery.html'>jQuery</a>\n , <a href='JC.BaseMVC.html'>JC.BaseMVC</a>\n</p>\n<p><a href='https://github.com/openjavascript/jquerycomps' target='_blank'>JC Project Site</a>\n| <a href='http://jc2.openjavascript.org/docs_api/classes/window.Bizs.MoneyTips.html' target='_blank'>API docs</a>\n| <a href='../../modules/Bizs.MoneyTips/0.1/_demo' target='_blank'>demo link</a></p>\n\ninput[type=text] 需要 添加 class=\"js_bizMoneyTips\"\n<br />只要带有 class = js_bizMoneyTips 的文本框, 默认会自己初始化 MoneyTips 实例\n\n<h2>可用的 HTML 属性</h2>\n<dl>\n <dt>bmtDisplayLabel = selector, default = span</dt>\n <dd>\n 指定显示 格式化金额的 node, 如果没有显式指定 node, 那么将会动态生成一个用于显示的 span\n </dd>\n\n <dt>bmtPattern = string, default = {0}</dt>\n <dd>\n 用于显示格式化金额的显示内容, {0} = 金额占位符\n <br />example: &lt;input type=\"text\" class=\"js_bizMoneyTips\" bmtPattern=\"格式化金额: {0}\" />\n </dd>\n</dl>",
507+
"description": "<h2>金额格式化 业务逻辑</h2>\n<br/>应用场景\n<br/>用户在文本框输入金额时, 在指定的 node 显示以逗号分隔的金额\n<p><b>require</b>: \n <a href='window.jQuery.html'>jQuery</a>\n , <a href='JC.BaseMVC.html'>JC.BaseMVC</a>\n</p>\n<p><a href='https://github.com/openjavascript/jquerycomps' target='_blank'>JC Project Site</a>\n| <a href='http://jc2.openjavascript.org/docs_api/classes/window.Bizs.MoneyTips.html' target='_blank'>API docs</a>\n| <a href='../../modules/Bizs.MoneyTips/0.1/_demo' target='_blank'>demo link</a></p>\n\ninput[type=text] 需要 添加 class=\"js_bizMoneyTips\"\n<br />只要带有 class = js_bizMoneyTips 的文本框, 默认会自动初始化 MoneyTips 实例\n\n<p>\n 页面载入时, Bizs.MoneyTips 会对 span.js_bmtLabel, label.js_bmtLabel 进行自动格式化\n</p>\n\n<h2>可用的 HTML 属性</h2>\n<dl>\n <dt>bmtDisplayLabel = selector, default = span</dt>\n <dd>\n 指定显示 格式化金额的 node, 如果没有显式指定 node, 那么将会动态生成一个用于显示的 span\n </dd>\n\n <dt>bmtPattern = string, default = {0}</dt>\n <dd>\n 用于显示格式化金额的显示内容, {0} = 金额占位符\n <br />example: &lt;input type=\"text\" class=\"js_bizMoneyTips\" bmtPattern=\"格式化金额: {0}\" />\n </dd>\n</dl>",
508508
"extends": "JC.BaseMVC",
509509
"is_constructor": 1,
510510
"version": "dev 0.1 2013-11-21",
@@ -2259,7 +2259,7 @@
22592259
},
22602260
{
22612261
"file": "../modules/Bizs.MoneyTips/0.1/MoneyTips.js",
2262-
"line": 64,
2262+
"line": 68,
22632263
"description": "获取或设置 MoneyTips 的实例",
22642264
"itemtype": "method",
22652265
"name": "getInstance",
@@ -2280,7 +2280,7 @@
22802280
},
22812281
{
22822282
"file": "../modules/Bizs.MoneyTips/0.1/MoneyTips.js",
2283-
"line": 80,
2283+
"line": 84,
22842284
"description": "初始化可识别的 MoneyTips 实例",
22852285
"itemtype": "method",
22862286
"name": "init",
@@ -2301,7 +2301,32 @@
23012301
},
23022302
{
23032303
"file": "../modules/Bizs.MoneyTips/0.1/MoneyTips.js",
2304-
"line": 145,
2304+
"line": 107,
2305+
"description": "格式化 node 的 value/html",
2306+
"itemtype": "method",
2307+
"name": "format",
2308+
"params": [
2309+
{
2310+
"name": "_selector",
2311+
"description": "",
2312+
"type": "Selector"
2313+
},
2314+
{
2315+
"name": "_outputSelector",
2316+
"description": "指定显示格式化内容的 node, 默认为 selector 本身\n <br />, 还可以通过 html 属性 bmtFormatOutput 指定单独的 _outputSelector",
2317+
"type": "Selector"
2318+
}
2319+
],
2320+
"static": 1,
2321+
"return": {
2322+
"description": "_selector"
2323+
},
2324+
"class": "window.Bizs.MoneyTips",
2325+
"namespace": "window.Bizs"
2326+
},
2327+
{
2328+
"file": "../modules/Bizs.MoneyTips/0.1/MoneyTips.js",
2329+
"line": 186,
23052330
"description": "更新 tips 的值",
23062331
"itemtype": "method",
23072332
"name": "update",

docs_api/files/.._modules_Bizs.MoneyTips_0.1_MoneyTips.js.html

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,11 @@ <h1 class="file-heading">File: ../modules/Bizs.MoneyTips/0.1/MoneyTips.js</h1>
198198
* | &lt;a href=&#x27;../../modules/Bizs.MoneyTips/0.1/_demo&#x27; target=&#x27;_blank&#x27;&gt;demo link&lt;/a&gt;&lt;/p&gt;
199199
*
200200
* input[type=text] 需要 添加 class=&quot;js_bizMoneyTips&quot;
201-
* &lt;br /&gt;只要带有 class = js_bizMoneyTips 的文本框, 默认会自己初始化 MoneyTips 实例
201+
* &lt;br /&gt;只要带有 class = js_bizMoneyTips 的文本框, 默认会自动初始化 MoneyTips 实例
202+
*
203+
* &lt;p&gt;
204+
* 页面载入时, Bizs.MoneyTips 会对 span.js_bmtLabel, label.js_bmtLabel 进行自动格式化
205+
* &lt;/p&gt;
202206
*
203207
* &lt;h2&gt;可用的 HTML 属性&lt;/h2&gt;
204208
* &lt;dl&gt;
@@ -269,7 +273,7 @@ <h1 class="file-heading">File: ../modules/Bizs.MoneyTips/0.1/MoneyTips.js</h1>
269273
* @return {Array of MoneyTipsInstance}
270274
*/
271275
MoneyTips.init =
272-
function( _selector ){
276+
function( _selector, _outget ){
273277
var _r = [];
274278
_selector = $( _selector || document );
275279

@@ -284,7 +288,44 @@ <h1 class="file-heading">File: ../modules/Bizs.MoneyTips/0.1/MoneyTips.js</h1>
284288
}
285289
return _r;
286290
};
291+
/**
292+
* 格式化 node 的 value/html
293+
* @method format
294+
* @param {selector} _selector
295+
* @param {selector} _outputSelector 指定显示格式化内容的 node, 默认为 selector 本身
296+
* &lt;br /&gt;, 还可以通过 html 属性 bmtFormatOutput 指定单独的 _outputSelector
297+
* @static
298+
* @return _selector
299+
*/
300+
MoneyTips.format =
301+
function( _selector, _outputSelector ){
302+
_selector &amp;&amp; ( _selector = $( _selector ) );
303+
_outputSelector &amp;&amp; ( _outputSelector = $( _outputSelector ) );
304+
if( !( _selector &amp;&amp; _selector.length ) ) return;
305+
_selector.each( function(){
306+
var _item = $(this)
307+
, _v
308+
, _subOutputSelector = JC.f.parentSelector( _item, _item.attr( &#x27;bmtFormatOutput&#x27; ) )
309+
;
310+
!( _subOutputSelector &amp;&amp; _subOutputSelector.length ) &amp;&amp; ( _subOutputSelector = _item );
311+
_outputSelector &amp;&amp; _outputSelector.length &amp;&amp; ( _subOutputSelector = _outputSelector );
312+
!( _subOutputSelector &amp;&amp; _subOutputSelector.length ) &amp;&amp; ( _subOutputSelector = _item );
313+
314+
if( &#x27;value&#x27; in this ){
315+
_v = _item.val().trim();
316+
}else{
317+
_v = _item.html().trim();
318+
}
319+
320+
if( &#x27;value&#x27; in _subOutputSelector[0] ){
321+
_subOutputSelector.val( JC.f.moneyFormat( _v ) );
322+
}else{
323+
_subOutputSelector.html( JC.f.moneyFormat( _v ) );
324+
}
325+
});
287326

327+
return _selector;
328+
};
288329

289330
MoneyTips.prototype = {
290331
_beforeInit:
@@ -400,6 +441,7 @@ <h1 class="file-heading">File: ../modules/Bizs.MoneyTips/0.1/MoneyTips.js</h1>
400441
var _insAr = 0;
401442
MoneyTips.autoInit
402443
&amp;&amp; ( _insAr = MoneyTips.init() )
444+
&amp;&amp; MoneyTips.format( $( &#x27;span.js_bmtLabel, label.js_bmtLabel&#x27; ) )
403445
;
404446
});
405447

0 commit comments

Comments
 (0)