<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<input type="checkbox" value='10' onclick='test(this)' name='shuiguo'/>苹果  10元/个
<input type="text" onKeyDown='return test1(event)' onKeyUp='test2(event)' value='1' style='width:30px;' name='shuliang'/>个<br/>
<input type="checkbox" value='20' onclick='test(this)' name='shuiguo'/>梨子  20元/个
<input type="text" onKeyDown='return test1(event)' onKeyUp='test2(event)' value='1' style='width:30px;' name='shuliang'/>个<br/>
<input type="checkbox" value='30' onclick='test(this)' name='shuiguo'/>香蕉  30元/个
<input type="text" onKeyDown=' return test1(event)' onKeyUp='test2(event)' value='1' style='width:30px;' name='shuliang'/>个<br/>
<input type="checkbox" value='40' onclick='test(this)' name='shuiguo'/>菠萝  40元/个
<input type="text" onKeyDown='return test1(event)' onKeyUp='test2(event)' value='1' style='width:30px;' name='shuliang'/>个<br/>
<input type="checkbox" value='50' onclick='test(this)' name='shuiguo'/>桃子  50元/个
<input type="text" onKeyDown='return test1(event)' onKeyUp='test2(event)' value='1' style='width:30px;' name='shuliang'/>个<br/>
总价:<span id='price'>0</span>元
<input type="button" value='全选' onclick="quanxuan()"/><input type="button" value='取消' onclick="quxiao()"/>
<script type="text/javascript">
var sg= document.getElementsByName('shuiguo');
var sl = document.getElementsByName('shuliang');
function quanxuan(){
for(var i=0;i<sg.length;i++){
sg[i].checked=true;
}
test();
}
function quxiao(){
for(var i=0;i<sg.length;i++){
sg[i].checked=false;
}
test();
}
function test(e){
var pe=0;
    for(var i=0;i<sg.length;i++){
    
     if(sg[i].checked){
    
     pe+=(parseFloat(sg[i].value)*parseFloat(sl[i].value));
    
     }
    }
    if(isNaN(pe)){
     pe=0;
    }
    document.getElementById('price').innerText=pe;
}
function test1(e){
if(e.keyCode>=48&&e.keyCode<=57||e.keyCode==8||(e.keyCode>=96&&e.keyCode<=105)){
return true;
}
else return false;
}
function test2(e){
test(e);
}
</script>
</body>
</html>在两个按钮前加换行和不加会影响按钮的执行结果