อีกทีนะครับอาจารย์ นั่งดูมาตั้ง อาทิตย์แล้ว how to ก็ดูแล้วยังไม
<script language="javascript" type="text/javascript">
function tick(aForm, xval) {// function
var sum=0;
for (var i = 0; i < aForm.elements.length; i++) { //for
if (aForm.elements[i].checked == true ){ //if
var sum = sum + xval;
document.itest.ressum.value = sum;
}//end if
}//end for
}// end function
</script>
<form name='itest' id="itest">
<?php
for ($i = 1; $i <= 10; $i++) {
echo "<input type='checkbox' name='$i' value='$i' onclick='tick(document.itest, $i)'>$i<br>";
}
?>
<input type="text" name="ressum" id="ressum">
</form>
จากโค้ดข้างบน..ความต้องการของผมคือ
ถ้าคลิ๊กเป็นจริงที่อินพุทใด ให้รวมค่าที่ส่งมารวมกับค่าเดิมที่มีอยู่แล้วแสดงผลรวมที่ ressum
แต่มันไม่ให้ผลตามที่ต้องการเลย ไม่รู้ผิดตรงไหน ช่วยดูโค้ดด้วยครับอาจารย์
ความต้องการต่อจากนั้นก็คือ เมื่อคลิ๊กเป็นเท็จผมต้องการให้ลบค่าที่ส่งไปออกจากผลรวมที่มีอยู่ ผมเลยเพิ่มโค้ดส่วนฟังก์ชั่นเป็น
function tick(aForm, xval) {// function
var sum=0;
for (var i = 0; i < aForm.elements.length; i++) { //for
if (aForm.elements[i].checked == true ){ //if
var sum = sum + xval;
document.itest.ressum.value = sum;
}//end if
else if (aForm.elements[i].checked == false ){ //if
sum = sum - xval;
document.itest.ressum.value = sum;
}
}//end for
}// end function
ผลลัพธ์ที่ได้กลับแย่ไปใหญ่เลย
นั่งมองโค้ดนี้มาอาทิตย์กว่าๆแล้ว
function tick(aForm, xval) {// function
var sum=0;
for (var i = 0; i < aForm.elements.length; i++) { //for
if (aForm.elements[i].checked == true ){ //if
var sum = sum + xval;
document.itest.ressum.value = sum;
}//end if
}//end for
}// end function
</script>
<form name='itest' id="itest">
<?php
for ($i = 1; $i <= 10; $i++) {
echo "<input type='checkbox' name='$i' value='$i' onclick='tick(document.itest, $i)'>$i<br>";
}
?>
<input type="text" name="ressum" id="ressum">
</form>
จากโค้ดข้างบน..ความต้องการของผมคือ
ถ้าคลิ๊กเป็นจริงที่อินพุทใด ให้รวมค่าที่ส่งมารวมกับค่าเดิมที่มีอยู่แล้วแสดงผลรวมที่ ressum
แต่มันไม่ให้ผลตามที่ต้องการเลย ไม่รู้ผิดตรงไหน ช่วยดูโค้ดด้วยครับอาจารย์
ความต้องการต่อจากนั้นก็คือ เมื่อคลิ๊กเป็นเท็จผมต้องการให้ลบค่าที่ส่งไปออกจากผลรวมที่มีอยู่ ผมเลยเพิ่มโค้ดส่วนฟังก์ชั่นเป็น
function tick(aForm, xval) {// function
var sum=0;
for (var i = 0; i < aForm.elements.length; i++) { //for
if (aForm.elements[i].checked == true ){ //if
var sum = sum + xval;
document.itest.ressum.value = sum;
}//end if
else if (aForm.elements[i].checked == false ){ //if
sum = sum - xval;
document.itest.ressum.value = sum;
}
}//end for
}// end function
ผลลัพธ์ที่ได้กลับแย่ไปใหญ่เลย
นั่งมองโค้ดนี้มาอาทิตย์กว่าๆแล้ว
ผมไม่แน่ใจว่าอ่านความต้องการของเจ้าของกระทู้ถูกต้องหรือเปล่า
โค๊ดก็เลยออกมาแบบนี้ละครับ
ผิดถูกอย่างไร ก็ถือซ๋ะว่ามาแลกเปลี่ยน
ปล. ต้องขออภัยขี้เกียจเล่นสี
<script language="javascript" type="text/javascript">
function tick(objCheckbox) {// function
if(objCheckbox.checked==true){
document.itest.ressum.value = parseInt(document.itest.ressum.value) + parseInt(objCheckbox.value);
}else{
document.itest.ressum.value = parseInt(document.itest.ressum.value) - parseInt(objCheckbox.value);
}
}// end function
</script>
<form name='itest' id="itest">
<?php
for ($i = 1; $i <= 10; $i++) {
echo "<input type='checkbox' name='$i' value='$i' onclick='tick(this)'>$i<br>";
}
?>
<input type="text" name="ressum" id="ressum" value="0">
</form>