簡體   English   中英

使用Javascript無法將數字添加到數字

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM