Ext一个textField根据另一个textField的值显示特定内容

需求:需要根据②中输入的数字金额自动在①中填入大写金额

代码如下:

{ xtype: "textfield",flex:1.5,id:"num",readOnly: true, allowBlank: false,name: "dxje", 

fieldLabel: "本次支付金额"},//①

  { xtype: "numberfield",flex:0.46, allowBlank: false,name: "xxje", 

                    emptyText:"请输入金额"

                    ,enableKeyEvents:true,//启用监听

                    listeners:{               

                        keyup:function(){

                            Ext.getCmp('num').setValue(numToCny(this.getValue()));

//给①赋值(使用到了下面的阿拉伯数字转中文大写金额的方法)

                        }             

                    }

}

以下为阿拉伯数字转中文大写金额的方法:

function numToCny(n){

        if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))

            return "";

        var unit = "仟佰拾亿仟佰拾万仟佰拾圆角分", str = "";

            n += "00";

        var p = n.indexOf('.');

        if (p >= 0)

            n = n.substring(0, p) + n.substr(p+1, 2);

            unit = unit.substr(unit.length - n.length);

        for (var i=0; i < n.length; i++)

            str += '零壹贰叁肆伍陆柒捌玖'.charAt(n.charAt(i)) + unit.charAt(i);

        return str.replace(/零(仟|佰|拾|角)/g, "零").replace(/(零)+/g, "零").replace(/零(万|亿|圆)/g, "$1").replace(/(亿)万|壹(拾)/g, "$1$2").replace(/^圆零?|零分/g, "").replace(/圆$/g, "圆整");   

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,188评论 19 139
  • 1.从载入EasyUI开始 读者需要到EasyUI官网中下载包含原文件和demo的压缩包,并解压到之前编写的代码目...
    老皮丘阅读 5,858评论 0 6
  • 或许我令你不安,所以你总是想着如何从我的世界里消失。抹掉过去,抹掉现在,抹掉希望。以前总是希望你也喜欢我,现在却希...
    OsomeDoris阅读 1,495评论 0 0
  • 这一夜,太过漫长。 梦里的画面太过清晰,以为醒来,是活在了梦里! 一幅幅画面闪过眼前,忽然忘了是早已经历,还是未完...
    My小栗子阅读 1,576评论 0 1
  • 原创 2016-12-08 作者:柠七七 01 在很多人眼中唾手可得的东西,依依却付出了一般人难以想象的努力,她拼...
    柠七七cyndi阅读 15,866评论 2 6

友情链接更多精彩内容