2014-12-13 145 views
0

我寫了一段代碼。該代碼從用戶接收兩個輸入並添加它們並將它們打印在一個單元格中,然後將相同的兩個單元格相乘並將它們打印到另一個單元格中。這是我的代碼正在工作,但在此之後,我試圖採取兩個結果並再次添加它們,這部分不起作用。使用jQuery在html表格中添加兩個單元格

我在做什麼錯?

這裏是提前

<HTML> 
<HEAD> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script> 
function addition(that){ 
var sum=0; 
$("."+that).each(function(){ 
if(!isNaN(this.value) && this.value.length!=0) { 
sum += parseFloat(this.value); 
} 
}); 
return(sum); 
} 
function multiply(that){ 
var prdt=1; 
$("."+that).each(function(){ 
if(!isNaN(this.value) && this.value.length!=0) { 
prdt *= parseFloat(this.value); 
} 
}); 
return(prdt); 
} 
</script> 
    </HEAD> 
<BODY> 
<table border='1'> 
<tr> 
<td><input class="a" id="c" type="number" name="quantity" min="0" max="99999999999" required/></td> 
<td><input class="a" id="b" type="number" name="quantity" min="0" max="99999999999" required/></td> 
<td class="z" id="sum">0</td> 
<td class="z" id="mul"></td> 
<td id="result"></td> 
</tr> 
<script> 
$(document).ready(function(){ 
$(".a").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#sum").html(x); 

}); 
}); 

$(".a").each(function(){ 
$(this).keyup(function(){ 
x=multiply($(this).attr("class")); 
$("#mul").html(x); 

}); 
}); 

$("td.z").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#result").html(x); 

}); 
}); 


}); 


</script> 
</table> 
</BODY> 
</html> 
+2

標點,男人。 – Terry 2014-12-13 15:56:44

+0

任何控制檯錯誤? – 2014-12-13 15:58:15

+0

沒有錯誤,它只是不顯示值 – rajju 2014-12-13 16:25:05

回答

0

代碼感謝我把你的代碼的一部分,改變了它一點點。 其實,我用「的setInterval」功能與前兩個字段的總和喂#result ......看一看:

<script> 
$(document).ready(function(){ 
$(".a").each(function(){ 
$(this).keyup(function(){ 
x=addition($(this).attr("class")); 
$("#sum").html(x); 

}); 
}); 

$(".a").each(function(){ 
$(this).keyup(function(){ 
x=multiply($(this).attr("class")); 
$("#mul").html(x); 

}); 
}); 

// $("td.z").each(function(){ 
// $(this).keyup(function(){ 
// x=addition($(this).attr("class")); 
// $("#result").html(x); 

setInterval(function() { 
var z = parseFloat($("#sum").text())+ parseFloat($("#mul").text()); 
if(!isNaN(z)) { 
    $("#result").text(z); 
} 
}, 500); 

}); 
}); 


}); 


</script> 

FIDDLE位置:http://jsfiddle.net/1rcuqskj/1/

希望這對你的作品!

+0

非常感謝你能解釋我如何setInterval()函數的工作原理和這是什麼500請解釋我這兩部分 – rajju 2014-12-14 08:00:03

+0

@rajju setInterval()以毫秒爲單位以指定的時間間隔重複一個任務。在這種情況下,我隨機選擇500(毫秒),這意味着每半秒執行一次任務。如果您想將其更改爲例如兩秒鐘,請將2000替換爲2000,等等...... – 2014-12-15 12:12:02

相關問題