A-AA+then

ถามเกี่ยวกับ jquery event onclick in xml

1,654
 <Tutorial author="The Reddest">
    <Title>Silverlight and the Netflix API</Title>
    <Categories>
      <Category>Tutorials</Category>
       <Category>XAML</Category>
    </Categories>
   </Tutorial>
<Tutorial author="The Hairiest">
    <Title>Cake PHP 4 - Saving and Validating Data</Title>
    <Categories>
       <Category>CakePHP</Category>
      <Category>PHP</Category>
    </Categories>
     </Tutorial>
xml ------------------

$("#output").append("<li class='my'><a href=''>"+ $(this).find("Title").text() +"</a></li><br />");
     $(".actions li.my a").click(function(event){
            alert('ss');
          
           event.preventDefault();
      });
jquery----------------
<body>
   <div id='output'>
    <ul class='actions></ul>
   </div>
</body>
html----------------
ตาม code ข้างต้น มันไม่ยอม ทำงาน alert "ss" ให้ แต่หาก มีแค่ recode เดียว สามารถ alert ข้อความ 'ss' อยากให้ผู้รู้ช่วยชี้แนะค่ะ


3 ความคิดเห็น

จากเจ้าของกระทู้
ใช้ ajax  ก้อมีปัญหา ไม่สามารถใช้คำสั่ง onclick ใน innerHtml
c
content ='<a href =# id=my> test1</a>';
content +='<a href =# id=my> test2</a>';
document.getelementById('output').innerHtml=content;
 document.getElementById('my').addEventListener("click", show);
function show(){alert('aa');}
มีปัญหาเช่นกัน ถ้าทำอันเดียว ก้อสามารถ  แสดง alert "aa" แต่หาก มากกว่า1 record จะไม่ทำการ  show หรือ ไม่ทำงานใน fucntion ได้ 

 ขอผู้รู้ช่วยดูให้หน่อยน่ะค่ะ
1

ก็คงไม่แปลกอะไร ที่พอ มีหลายๆ record แล้วมันจะไม่ทำงาน

กฏของ id ก็คือภายใน 1 หน้า จะมีได้แค่ id เดียว ไม่สามารถใช้ซ้ำได้

การแก้ไข มี 2 กรณีที่เป็นไปได้คือ

1. ใช้ id ให้ต่างกัน อาจเพิ่มเติม running number ลงไปใน id ก็ได้ เช่น

<li id="item-1" class="....

ถ้าจะใช้ jQuery ก็เปลี่ยนมาใช้ selector เป็น id แทน

2. ใช้ event onclick ใน a เลย

<a onclick=doClick()....

ผมแนะนำ 2 วิธีง่ายๆนี้ไปละกัน เพราะไม่รู้โครงสร้างเต็มๆของโค้ด ซึ่งถ้าทำให้ถูกหลัก มันทำงานได้แน่นอน
2

ใช่ครับ
กฏของ id ก็คือภายใน 1 หน้า จะมีได้แค่ id เดียว แต่ก่อนผมเล่นซ่ะ ทุกย่อหน้า ทำงานมั่ง ไม่ทำงานมั่ง ปัจจุบันก้ยังมี 55+
ก็ได้พี่ กรด นี่แหล้ะแน่ะนำ

3
^