数字.js实时格式

时间:2016-11-20 12:14:36

标签: javascript jquery numeral.js

我想用Numeral.js格式化输入框。

我试过这样的事情。

CMakeList.txt

第二个功能是完美的(到HUF格式),但第一个没有。

1 个答案:

答案 0 :(得分:0)

我认为你错过了数字语言文件:

<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.5.3/languages.min.js"></script>

除非我不包含语言js文件,否则无法重现您的情况。试试你的例子并点击第一个输入框上的一个键:

var a = false;
$('#exchangeInputFirst, #exchangeInputSecond').click(function () {
	$(this).caret(0);
});

$('#exchangeInputFirst, #exchangeInputSecond').keyup(function(){
	if(a == false){
		$(this).val('');
		a = true
	} else {
		numeral.language($(this).data('language'));
		$(this).val(numeral($(this).val()).format('0,0.00$'));
		$(this).caret(0);
	}
});
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.5.3/numeral.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.5.3/languages.min.js"></script>
<script src="http://zikro.gr/dbg/html/jquery.caret/dist/jquery.caret-1.5.2.min.js"></script>


<input type="text" data-language="sk" id="exchangeInputFirst">
<input type="text" data-language="hu" id="exchangeInputSecond">

<强>更新

光标位置也有问题。您可以使用此jQuery插件acdvorak/jquery.caret来解决此问题,以便在每次输入字符时将插入符号位置设置为输入的前缀:

$(this).val(numeral($(this).val()).format('0,0.00$'));
$(this).caret(0);

此外,我已将该语言包含在输入数据中,如data-language="sk",现在您可以直接在keyup事件中阅读,如下所示:

numeral.language($(this).data('language'));

查看我更新的代码段。它现在可以按你的需要工作。