2014-01-30 3 views
-2

Я действительно очень не знаком с javascript и попробовал поиск по Google. но мне не повезло. Так что, пожалуйста, помогите мне, каждый раз, когда я ввожу значение в текстовое поле. в другом текстовом поле появится «nan», а затем, когда я попытаюсь изменить значение NaN, первое текстовое поле, в которое я ввел, вернет первую тысячу цифр значения.Javascript Текстовое поле Значение вывода NAN on.Change

вот Fiddle моего proble

и это мои коды

$(document).on('change', '#family_home,#home_contents,#motor_vehicle,#Total', function() { 
updateTotal(); 
    });  
var updateTotal =function() { 
var a = parseInt($('#family_home').val()); 
$('#family_home').val(a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var b = parseInt($('#home_contents').val()); 
$('#home_contents').val(b.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var c = parseInt($('#motor_vehicle').val()); 
$('#motor_vehicle').val(c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var total = parseInt(a)+parseInt(b)+parseInt(c); 
$("#Total").html(total);   
}; 

Пожалуйста, Пожалуйста, помогите. Благодарю. Я знаю, что я новичок, но я хочу получить больше знаний от вас, ребята. поэтому, пожалуйста, передайте мне это. Thanks

+0

Дубликаты -http: // StackOverflow .com/questions/7295843/allow-only-numbers-to-be-typed-in-a-textbox, http://stackoverflow.com/questions/995183/how-to-allow-only-numeric-0-9 -в-HTML-InputBox-Усин g-jquery, –

ответ

-1

Пожалуйста, используйте этот код:

$(document).on('change', '#family_home,#home_contents,#motor_vehicle,#Total', function() { 
    updateTotal(); 
    });  
    var updateTotal =function() { 
    var re=new RegExp(",","g"); 
    var a = parseInt($('#family_home').val().replace(re,""),10); 
    if(!isNaN(a)) 
    $('#family_home').val(a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
    var b = parseInt($('#home_contents').val().replace(re,""),10); 
    if (!isNaN(b)) 
    $('#home_contents').val(b.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
    var c = parseInt($('#motor_vehicle').val().replace(re,""),10); 
    if (!isNaN(c)) 
    $('#motor_vehicle').val(c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
    var total = parseInt(a)+parseInt(b)+parseInt(c); 
    $("#Total").html(total);   
}; 
+0

wow thanks, это полностью работает. но как я могу установить каждое текстовое поле для автоматического вывода запятой, когда я нажал на следующий texbox? Я попробовал .on ('keyup'), но он возвращает целое число до первых тысяч. – user3192596

+0

Для выходных запятых вы будете использовать свою текущую логику для замены строки. но будьте осторожны, читая значения и передавая их в parseInt, убедитесь, что вы снова замените запятые пустой строкой i.e. ", так что parseInt корректно анализирует входные данные. Также при использовании parseInt всегда включают второй аргумент, то есть parseInt (mytext, 10); второй аргумент 10 гарантирует, что вы хотите, чтобы разобщенное значение было в десятичной системе (10). другие возможности - 2 (двоичные), 16 (шестнадцатеричные), 8 (восьмеричные). – kcak11

+0

вы можете отредактировать мою скрипку http://jsfiddle.net/hescano/zzxwV/6/ please – user3192596

0

NaN property - значение, которое представляет собой «Не-число». Чтобы избежать этого в вашем коде, вы можете использовать функцию isNaN():

$(document).on('change', '#family_home,#home_contents,#motor_vehicle,#Total', function() { 
    updateTotal(); 
    });  
var updateTotal =function() { 
var a = parseInt($('#family_home').val()); 
    $('#family_home').val(a.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var b = parseInt($('#home_contents').val()); 
    if (!isNaN(b)) 
    $('#home_contents').val(b.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var c = parseInt($('#motor_vehicle').val()); 
    if (!isNaN(c)) 
    $('#motor_vehicle').val(c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",")); 
var total = parseInt(a)+parseInt(b)+parseInt(c); 
    $("#Total").html(total);   
}; 

http://jsfiddle.net/hescano/zzxwV/6/

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN

Смежные вопросы