2016-10-17 24 views
0

私はこのスクリプトを別のメンバーのstackoverflowによって作成しましたが、何千もの数字のカンマ区切りを入れる必要があります。カンマ区切り文字を1000個入力すると入力タイプ番号

どうすればいいですか?

(function($) { 
 
    $.fn.currencyInput = function() { 
 
    this.each(function() { 
 
     var wrapper = $("<div class='currency-input' />"); 
 
     $(this).wrap(wrapper); 
 
     $(this).before("<span class='currency-symbol'>$</span>"); 
 
     $(this).change(function() { 
 
     var min = parseFloat($(this).attr("min")); 
 
     var max = parseFloat($(this).attr("max")); 
 
     var value = this.valueAsNumber; 
 
     if(value < min) 
 
      value = min; 
 
     else if(value > max) 
 
      value = max; 
 
     $(this).val(value.toFixed(2)); 
 
     }); 
 
    }); 
 
    }; 
 
})(jQuery); 
 

 
$(document).ready(function() { 
 
    $('input.currency').currencyInput(); 
 
});
.currency { 
 
    padding-left:12px; 
 
} 
 

 
.currency-symbol { 
 
    position:absolute; 
 
    padding: 2px 5px; 
 
}
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
 
<input type="number" class="currency" min="0.01" max="2500.00" value="25.00" />

+0

番号入力はコンマを持っていません。しかし、あなたはstackoverflowで他の答えを見た:http://stackoverflow.com/questions/2901102/how-to-print-a-number-with-commas-as-thousands-separators-in-javascript – epascarello

答えて

2
  1. あなたは "数" 入力にコンマを入れて、その "テキスト" に変更することはできません。
  2. あなたが一緒に「のtoLocaleString」とtoFixedを使用することはできませんので、別のソリューションが必要とされている:それは問題になりますようにそれは思えるよう

(function($) { 
 
    $.fn.currencyInput = function() { 
 
    this.each(function() { 
 
     var wrapper = $("<div class='currency-input' />"); 
 
     $(this).wrap(wrapper); 
 
     $(this).before("<span class='currency-symbol'>$</span>"); 
 
     $(this).val(parseFloat($(this).val()).toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})); 
 
     
 
     $(this).change(function() { 
 
     var min = parseFloat($(this).attr("min")); 
 
     var max = parseFloat($(this).attr("max")); 
 

 
     var value = parseFloat($(this).val().replace(/,/g, '')); 
 
     if(value < min) 
 
      value = min; 
 
     else if(value > max) 
 
      value = max; 
 
     $(this).val(value.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})); 
 
     }); 
 
    }); 
 
    }; 
 
})(jQuery); 
 

 
$(document).ready(function() { 
 
    $('input.currency').currencyInput(); 
 
});
.currency { 
 
    padding-left:12px; 
 
} 
 

 
.currency-symbol { 
 
    position:absolute; 
 
    padding: 2px 5px; 
 
}
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
 
<input type="text" class="currency" min="0.01" max="2500.00" value="1125.00" />

+0

偉大な親指アップ! – ImBS

関連する問題