ขอถามสักหน่อยคะ HomeForumขอถามสักหน่อยคะ ฟงหวิน ขี่พายุทะลุโกรธ จากรูปคะ ถ้าเราคลิกปุ่มแรก ไม่มี ตัวเลขในช่อง 0026 เปลี่ยนเป็น 0027 แต่ถ้าเลือก มี ใ้ห้เป็น 0026 แบบเดิมทำอย่างไรคะ กรกฎ วิริยะ <p><input type="radio" name="x[]" value="0" onclick="doCheck(0, 'src_0', 'dest_0')" /> Unchecked <input type="radio" name="x[]" value="1" onclick="doCheck(1, 'src_0', 'dest_0')" /> Checked</p> <p><input id="src_0" value="400" /> <input id="dest_0" /></p> <p><input type="radio" name="x[]" value="0" onclick="doCheck(0, 'src_1', 'dest_1')" /> Unchecked <input type="radio" name="x[]" value="1" onclick="doCheck(1, 'src_1', 'dest_1')" /> Checked</p> <p><input id="src_1" value="1400" /> <input id="dest_1" /></p> <script type="text/javascript"> function doCheck(id, src, dest) { document.getElementById(dest).value = parseFloat(document.getElementById(src).value) + id; }; </script> ทีแรกว่าจะเขียนให้ใช้ได้กับ input ทีละชุด แต่เดาเอาว่าเดี๋ยวคงมีปัญหาอีก เลยเขียนฟังก์ชั่นเพื่อให้สามารถใช้งานได้กับ input หลายๆชุดเลยทีเดียว ผมอยากให้สังเกตุแนวคิดในการเขียนนะครับ ว่าผมได้เลือกใช้แค่ฟังก์ชั่นพื้นฐานเท่านั้น ซึ่งในความเป็นจริงไม่ได้ยุ่งยากเลย 1 รับ event onclick เพื่อดูว่า ปุ่มใดถูกกด 2 ส่งค่าทั้งหมดที่จำเป็นต้องใช้ ไปพร้อมกันเลยทีเดียว เช่น ค่าที่ต้องการบวกเพิ่ม (id) และ id ของ element ที่เกี่ยวข้อง 3 คำนวณค่าใหม่ใส่ input ที่ต้องการด้วยแนวคิดง่ายๆ (ไม่ต้องจองตัวแปร ส่ง หรือ รับตัวแปรบ่อยๆ ช่วยให้โค้ดเร็วขึ้น) นี่ถ้าใช้ GAjax โค้ดจะยืดหยุ่นกว่านี้อีก ไม่ต้องมานั่งเขียนคำสั่งให้ Input ทีละตัว ฟงหวิน ขี่พายุทะลุโกรธ ขอบคุณคะมากคะ เดี๋ยวไปเขียนเพิ่มและเช็คเอาคะว่าเป็นปุ่มใด และก็เข้าไปทำ event ที่ได้ส่งค่ามา ฟงหวิน ขี่พายุทะลุโกรธ อ.คะค่าที่ได้ เป็น 27เราจะเติมเลข 0 ไปให้ครบสี่หลัก โดยต้องเช็คค่าก่อนว่าส่งมาเป็นกี่หลักและค่อยเติม 0 เข้าไปทำอย่างไรคะ กรกฎ วิริยะ ถ้าใช้ GAjax ก็จะมีฟังก์ชั่น leftPad var d = 27; d = d.leftPad(4, '0'); alert(d); ถ้าไม่ได้ใช้ลองดูจากที่นี่ javascript number format ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
<input type="radio" name="x[]" value="1" onclick="doCheck(1, 'src_0', 'dest_0')" /> Checked</p>
<p><input id="src_0" value="400" />
<input id="dest_0" /></p>
<p><input type="radio" name="x[]" value="0" onclick="doCheck(0, 'src_1', 'dest_1')" /> Unchecked
<input type="radio" name="x[]" value="1" onclick="doCheck(1, 'src_1', 'dest_1')" /> Checked</p>
<p><input id="src_1" value="1400" />
<input id="dest_1" /></p>
<script type="text/javascript">
function doCheck(id, src, dest) {
document.getElementById(dest).value = parseFloat(document.getElementById(src).value) + id;
};
</script>
ทีแรกว่าจะเขียนให้ใช้ได้กับ input ทีละชุด แต่เดาเอาว่าเดี๋ยวคงมีปัญหาอีก เลยเขียนฟังก์ชั่นเพื่อให้สามารถใช้งานได้กับ input หลายๆชุดเลยทีเดียว
ผมอยากให้สังเกตุแนวคิดในการเขียนนะครับ ว่าผมได้เลือกใช้แค่ฟังก์ชั่นพื้นฐานเท่านั้น ซึ่งในความเป็นจริงไม่ได้ยุ่งยากเลย
1 รับ event onclick เพื่อดูว่า ปุ่มใดถูกกด
2 ส่งค่าทั้งหมดที่จำเป็นต้องใช้ ไปพร้อมกันเลยทีเดียว เช่น ค่าที่ต้องการบวกเพิ่ม (id) และ id ของ element ที่เกี่ยวข้อง
3 คำนวณค่าใหม่ใส่ input ที่ต้องการด้วยแนวคิดง่ายๆ (ไม่ต้องจองตัวแปร ส่ง หรือ รับตัวแปรบ่อยๆ ช่วยให้โค้ดเร็วขึ้น)
นี่ถ้าใช้ GAjax โค้ดจะยืดหยุ่นกว่านี้อีก ไม่ต้องมานั่งเขียนคำสั่งให้ Input ทีละตัว
var d = 27;
d = d.leftPad(4, '0');
alert(d);
ถ้าไม่ได้ใช้ลองดูจากที่นี่
javascript number format