【发布时间】:2015-10-06 10:32:01
【问题描述】:
当单选按钮切换时,我需要将输入文本类型字段中的数字从摄氏度转换为开尔文:
$('input[name=temperature]').click(function(){
var tempType = $('input[name=temperature]:checked').val();
if( tempType == 'celsius' ){
$('.scale').html('°C');
if( $('#t1').val() && $('#t2').val() ){
var kt1 = parseFloat( kelvinToCelsius( $('#t1').val() ) );
var kt2 = parseFloat( kelvinToCelsius( $('#t2').val() ) );
//$('#t1').val( '' );
//$('#t2').val( '' );
$('#t1').val( kt1 );
$('#t2').val( kt2 );
}//if
}//celsius
else if( tempType == 'kelvin' ){
$('.scale').html('K');
if( $('#t1').val() && $('#t2').val() ){
var kt1 = parseFloat( celsiusToKelvin( $('#t1').val() ) );
var kt2 = parseFloat( celsiusToKelvin( $('#t2').val() ) );
$('#t1').val( kt1 );
$('#t2').val( kt2 );
}//if
}//kelvin
});
function kelvinToCelsius( kelvinTemp){
return kelvinTemp - 273.15;
}//kelvinToCelsius
function celsiusToKelvin( celsiusTemp){
return celsiusTemp + 273.15;
}//celsiusToKelvin
输入字段中的数字作为前一个值的串联结果(可能 jQuery 将它们威胁为字符串,而不是数字)。
我什至尝试将 parseFloat() 添加到每个变量,但情况并没有改变。
我想更改值,而不是连接它们:我怎样才能得到它?
谢谢!
【问题讨论】:
-
您所描述的内容不会发生在您显示的示例代码中。您的代码中还有其他内容可以连接这些值。您必须展示一个复制问题的示例。
-
谢谢。我添加了代码
-
问题在于函数
kelvinToCelsius()和/或celsiusToKelvin()。也给他们看。
标签: javascript jquery concatenation parsefloat