2009-08-06 53 views
0

通過jQuery append()函數添加新文本框時,出現jQuery無法將函數應用於該文本框;將jQuery函數應用於動態添加項目

  $("#ulList").append("<li><span class=\"ui-icon ui-icon-circle-close remove\"/><em class=\"selectedWord\">" + selectedWord + "</em><input class=\"acf acfb-input ac_input\" type=\"text\" id=\"" + name + "\" name=\"" + name + "\" value = '' /></li>"); 

      $("#" + name).autoCompletefb(); 

我試圖運用到新添加的輸入功能爲autoCompletefb()方法,但它似乎jQuery是無法找到新添加的對象。

想法?

+0

請提供HTML。謝謝。 – 2009-08-06 17:02:37

+0

你如何得到'formattedName'和'.autoCompletefb()'做了什麼?另外,你有沒有嘗試'alert(「#」+ formattedName);'看看你是否得到你想要的結果? – Jason 2009-08-06 17:03:45

+0

從複製粘貼錯誤。在代碼中使用相同的變量,修正。 autoCompletefb()從這裏http://wharsojo.wordpress.com/2008/02/18/jquery-facebook-autocomplete/ – CmdrTallen 2009-08-06 18:18:49

回答

1

您給輸入一個name變量內容的ID,並選擇一個變量爲formattedName變量內容的ID。兩者有什麼區別?如果代碼相同,代碼將起作用。

除此之外,你有附近的追加結束一個JS錯誤()調用:

value = \"\" />";+ "</li>"); 

可能希望它是:

value='' /></li>"); 
1

你在錯誤的有一個備用分號放置

$("#ulList").append("<li><span class=\"ui-icon ui-icon-circle-close remove\"/><em class=\"selectedWord\">" + selectedWord + "</em><input class=\"acf acfb-input ac_input\" type=\"text\" id=\"" + name + "\" name=\"" + name + "\" value = \"\" />" + "</li>"); 
0

請確保您的動態添加的輸入項已完全加載,然後再嘗試在頁面上訪問它。另外,你有一個變量混合?在第一行中將「name」用作變量,作爲第二行中的變量「formattedName」。

+0

在試圖訪問它之前,如何確保物品滿載? – CmdrTallen 2009-08-06 18:25:27

+0

您可以使用動態添加的文本框的onload事件來執行一個JavaScript函數,該函數又會訪問該文本框? – splatto 2009-08-06 18:52:46