다음 코드는 Firefox-20 및 Opera에서는 작동하지만 Chrome-26 또는 IE-10에서는 작동하지 않습니다. keyup 함수는 금액에 인도 쉼표를 추가합니다.JQuery 코드는 Firefox, Opera에서 작동하지만 Chrome 및 IE에서 작동하지 않습니다.
$(document).ready(function() {
$("#readyArea").on('change', function() {
$("#underConstArea").val($(this).val()).trigger('change');
});
$('.comma').on('keyup', this, function commaFormatted(){
var delimiter = ","; // replace comma if desired
var amount = $(this).val().replace(/\,/g,'');
var a = amount.split('.',2);
var d = a[1];
var i = parseInt(a[0],10);
if(isNaN(i)) { return ''; }
var minus = '';
if(i < 0) { minus = '-'; }
i = Math.abs(i);
var n = new String(i);
var a = [];
var cnt=0;
while(n.length > 2)
{
if(cnt == 0)
{
var nn = n.substr(n.length-3);
n = n.substr(0,n.length-3);
cnt++;
}
else
{
var nn = n.substr(n.length-2);
n = n.substr(0,n.length-2);
}
a.unshift(nn);
}
if(n.length > 0)
{
a.unshift(n);
}
n = a.join(delimiter);
amount = n;
amount = minus + amount;
$(this).val(amount);
});
});
다음은 JSFiddle link입니다. (Firefox 또는 Opera에서이 링크를 열면 js가 작동하지만 크롬이나 IE에서는 작동하지 않는다고 말한 것). 콘솔에는 js 오류도 없습니다. Chrome과 IE에 특정한 작업을 수행해야합니까?
편집
그냥 명확하게, 그것은 크롬과 IE에서 해고되지 않는 OnChange 이벤트입니다. 파이어 폭스와 오페라에서도 마찬가지다.
OS X에서 Chrome 26.0.1410.43을 사용하고 있으며 Firefox에서와 같이 쉼표가 표시됩니다. 그들은 다음과 같이 생각하고 있습니까? 12,34,56,789'? (죄송합니다. 인도 쉼표에 익숙하지 않습니다.) –
내가 명확하지 않으면 죄송합니다. 심야를 좀 어리둥절하게했다. 예, 귀하의 예와 같이 쉼표가 나타납니다. 문제는 Chrome과 IE에서 onChange 이벤트가 실행되지 않는다는 것입니다. – Snoopy