Javascript元素和值
javascript代码:Javascript元素和值,javascript,Javascript,javascript代码: function getCheckbox(name,id){ var check = 0; var deger = "option-checkbox-"+id; var dom = document.getElementById(deger); if( dom.checked ) check += parseFloat( dom.value ); else check -= parseFloat( dom.value );
function getCheckbox(name,id){
var check = 0;
var deger = "option-checkbox-"+id;
var dom = document.getElementById(deger);
if( dom.checked )
check += parseFloat( dom.value );
else check -= parseFloat( dom.value );
return check.toFixed(2);**//right value.(12.45)**
}
function getRadio(name,id) {
var radio=0;
var deger="option-radio-"+id;
var radio="option["+name+"]";
var selectedli = document.getElementsByName(radio);
var degerli = document.getElementById(deger);
if( selectedli.checked )
radio = parseFloat( degerli.value );
else radio = parseFloat( degerli.value )
return radio.toFixed(2)**//right value.(42.00)**
}
function getSelected(name,id) {
var selectedid="option["+name+"]";
var selecte = 0;
var selected = document.getElementById( selectedid );
selecte = parseFloat(selected.value);
return selecte.toFixed(2);**//right value.(-12.29)**
}
function toplam(name,id) {**//not expected(0)**
var toplan = 0;
toplan = getSelected(name,id)+getRadio(name,id)+getCheckbox(name,id);
$( '#toplam_goster' ).fadeOut(200, function(){
document.getElementById("toplam_goster").innerHTML = toplan;
});
$( '#toplam_goster' ).fadeIn(200);
}
。在最后一个函数中返回0。我怎样才能修好它
谢谢
返回select.toFixed(2);//这将返回字符串,并且可以进行加法
返回0
返回号码,即返回选择e*1
或在添加之前转换为数字,即
toplan=getSelected(name,id)*1+getRadio(name,id)*1+getCheckbox(name,id)*1;
返回select.toFixed(2);//这将返回字符串,并且可以进行加法
返回0
返回号码,即返回选择e*1
或在添加之前转换为数字,即
toplan=getSelected(name,id)*1+getRadio(name,id)*1+getCheckbox(name,id)*1;
此特定功能存在一些问题:
function getRadio(name,id)
{
var radio=0;
var deger="option-radio-"+id;
var radio="option["+name+"]";
var selectedli = document.getElementsByName(radio);
var degerli =document.getElementById(deger);
if(selectedli.checked) {
radio = parseFloat(degerli.value);
}
else {
radio = parseFloat(degerli.value)
}
return radio.toFixed(2)**//right value.(42.00)**
}
您两次声明radio
变量-最初值为0
,然后声明为字符串
您正在调用document.getElementsByName()
,它返回一个元素数组,然后执行selectedli.checked
;数组将不具有选中属性。如果您希望它只返回单个无线电
元素,则应该测试selectedli[0]。选中
您有一个if
语句,它执行相同的代码,而不管条件的计算结果是否为true。这可能是您的错误,也可能是if
语句可以完全删除。此特定函数存在一些问题:
function getRadio(name,id)
{
var radio=0;
var deger="option-radio-"+id;
var radio="option["+name+"]";
var selectedli = document.getElementsByName(radio);
var degerli =document.getElementById(deger);
if(selectedli.checked) {
radio = parseFloat(degerli.value);
}
else {
radio = parseFloat(degerli.value)
}
return radio.toFixed(2)**//right value.(42.00)**
}
您两次声明radio
变量-最初值为0
,然后声明为字符串
您正在调用document.getElementsByName()
,它返回一个元素数组,然后执行selectedli.checked
;数组将不具有选中属性。如果您希望它只返回单个无线电
元素,则应该测试selectedli[0]。选中
您有一个if
语句,它执行相同的代码,而不管条件的计算结果是否为true。这要么是您的错误,要么是if
语句可以完全消除。您可以创建一个演示来重现问题吗?您的上一个函数没有返回值。您可以创建一个演示来重现问题吗?您的上一个函数没有返回值。即使返回字符串,使用+
运算符将导致字符串连接。如果返回的值与他所说的一样(我对此表示怀疑,因为代码看起来甚至不会成功运行),那么结果不应该是0
。但是,这是一个有效点,一旦他解决了代码的其他问题,以后会给他带来问题。不总是-如果连接计算为false,即使返回字符串,它也会返回0(零),使用+
运算符将导致字符串连接。如果返回的值与他所说的一样(我对此表示怀疑,因为代码看起来甚至不会成功运行),那么结果不应该是0
。然而,这是一个有效点,一旦他解决了代码的其他问题,之后会给他带来问题。不总是-如果串联计算为false,它将返回0(零)