เรื่อง addEvent หลายแท็ก
<script type="text/javascript">
var buttonClick = function (){
alert("buttonClick:"+this.value);
};
$G("show").addEvent('click',buttonClick);
</script>
<?php
for($i=0;$i<=2;$i++){ ?>
<input type="button" value="<?=$i?>" id='show' />
<?php }
?>
ตัวอย่างโค้ดนี้ ถูกเรียกผ่าน gajax จากอีกไฟล์จึงใช้ $G().addEvent ตามที่อาจารย์แนะนำ
ในโค้ดแสดง 3 ปุ่ม แต่ event ทำงานที่ปุ่มแรก ปุ่มเดียว
มีวิธีที่ addEvent ได้กับ หลายแท็กมั้ยครับ เพราะในกรณีนี้ ผมนึกว่า id=show จะถูก add ไปพร้อมกัน
ขอบคุณครับ
var buttonClick = function (){
alert("buttonClick:"+this.value);
};
$G("show").addEvent('click',buttonClick);
</script>
<?php
for($i=0;$i<=2;$i++){ ?>
<input type="button" value="<?=$i?>" id='show' />
<?php }
?>
ตัวอย่างโค้ดนี้ ถูกเรียกผ่าน gajax จากอีกไฟล์จึงใช้ $G().addEvent ตามที่อาจารย์แนะนำ
ในโค้ดแสดง 3 ปุ่ม แต่ event ทำงานที่ปุ่มแรก ปุ่มเดียว
มีวิธีที่ addEvent ได้กับ หลายแท็กมั้ยครับ เพราะในกรณีนี้ ผมนึกว่า id=show จะถูก add ไปพร้อมกัน
ขอบคุณครับ
เราไม่สามารถใช้ id หรือ name ซ้ำกันได้ครับ ดังนั้น id ที่ใช้ควรเป็น id='show_$l' ครับ ซึ่งจะได้ id ที่ไม่ซ้ำกัน
ส่วนการเขียนฟังก์ชั่นนั้น เราจำเป็นต้องเขียน 1 ฟังก์ชั่น ต่อ 1 input ครับ เนื่องจากแต่ละฟังก์ชั่น ต้องอ้างถึง id แต่ละตัวที่ต้องต่างกันเสมอ
ส่วนการใช้กับ input หลายๆตัวโดยที่ไม่ต้องเขียนโค้ดมากๆ ก็อาจทำได้โดยการวนลูปแบบเดียวกันกับการสร้าง input ครับ (วน 2 ครั้ง ครั้งแรกสร้าง input ครั้งที่ 2 สร้าง Javascript)