[英]Add comma to numbers with Javascript not working
我已經嘗試了所有方法,以自動將逗號分隔符(每千/十萬個)添加到通過表單自動生成的數字中。
我試過了:
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
function numberWithCommas(x) {
return x.toString().replace(/\B(?=(?:\d{3})+(?!\d))/g, ",");
}
$('span#ninja_forms_field_83').each(function(){
var v_pound = $(this).html();
v_pound = numberWithCommas(v_pound);
$(this).html(v_pound)
})
});//]]>
</script>
但這根本不起作用。
表單的鏈接是: http : //freelance.tstwebdesign.co.uk/tyco/選擇不同的值時,您可以在底部看到該值的變化。
提前致謝
我認為您不需要.each();
v_pound = $('span#ninja_forms_field_83').html();
v_pound = numberWithCommas(v_pound);
$('span#ninja_forms_field_83').html(v_pound);
參見: http : //jsfiddle.net/oqm0zrL1/
jQuery的each()遍歷數組。 就您而言,它只是一個字符串!
編輯:您如何聲明函數和范圍也可能存在問題。
Edit2:您需要在每個輸入的.change()中添加一個eventHandler。 就像是:
$('input').change(function() {
v_pound = $('span#ninja_forms_field_83').html();
v_pound = numberWithCommas(v_pound);
$('span#ninja_forms_field_83').html(v_pound);
});
現在,您不能直接在表單上使用.change(),因此您的選擇器需要選擇所有復選框和輸入。 $('input')應該起作用。
為了更加明確,我將使用$('#ninja_forms_form_1 input')
function numberWithCommas(x) { return x.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, "$1,") }
我確實認為您必須擁有一個庫,因為它已經完成並且要好得多。 看看這個文檔數字
您必須包含在瀏覽器中
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/1.4.5/numeral.min.js"></script>
如果要格式化任何數字,非常簡單
numeral(1000000).format('0,0')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.