2010-02-15 61 views
2

我有以下代碼。點擊最後一個按鈕上的按鈕,我可以創建新的li。但是,一旦創建,如果我點擊創建的最新按鈕,就會創建新的li。它似乎並不認識最後創造的李是最後的李。有人可以幫助這個請。jquery添加li結束ul但最後創建li不被識別爲最後

<html xmlns="http://www.w3.org/1999/xhtml" > 

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $("#mylist :button").click(function() { 
        var text = $(this).val(); 
        if (text == "Save") { 
        } 
       }); 

       $("#mylist li:last-child").click(function() { 
       $(this).parent().append('<li>' + '<input type = "textbox">' + '<input type = "button" value= "Save">' + '</li>'); 

       }); 

      }); 

     </script> 

<div> 
<ul id="mylist"> 
<li id="1">1<button id="Button3">Delete</button> </li>  
<li id="2">2<button id="Button2">Delete</button></li> 
<li id="3">3<button id="another_entry">Save</button></li> 
</ul> 

<ul id="mylist2"> 
<li> test1 <button id="Button6">Delete</button></li> 
<li> test2<button id="Button5">Delete</button> </li> 
<li id="6"><button id="Button1">Delete</button></li> 
</ul> 


</div> 
+2

測試,我會更傾向於嘗試找出你想在這裏實現在地球上,如果你曾經接受回答你的問題。 –

+0

如果您甚至不回答回答問題的人,那麼沒有人願意爲您提供幫助......只需點擊問題頁右側的檢查即可。 – Reigel

+0

投票結果並不困難..這是我們的時間,你利用,作爲讚賞的象徵有向上箭頭..: - D –

回答

3

您需要使用live代替bind作爲綁定迭代元素只有一次,但是live創建聽衆,其動態附加事件,甚至到新創建的元素。

您的代碼應符合此示例:

$("#mylist li:last-child") 
    .live('click', function() { 
     // append element 
    }); 

jQuery 1.4.0

0

相反的:

$(this).parent().append('<li>'......... 

嘗試

$("#mylist").append('<li>'......... 
+0

這不會幫助,因爲任擇議定書,第一次點擊功能,然而第二個不是......所以在引用'parent'元素時沒有問題 –