2010-07-22 48 views
1

措辭不好的問題,但我找不到更好的方法。此外,檢查了「相關」的問題,並沒有解決這個問題。JQuery(this).text不是通過點擊追加

我正在使用JQuery 1.4.2和JQueryUI 1.8.1。

我有一個「按鈕」列表,我希望這些按鈕在頁面上的另一個列表中創建自己的副本。這是我到目前爲止:

 $("#actionList ul > li > p").button({ 
      icons: { 
       primary: 'ui-icon-document' 
      }, 
      text: true 
     }).click(function() { 
      $('#callFlow').find(".placeholder").remove(); 
      $("<li></li>").text((this).text).appendTo('#callFlow'); 
     }); 

#actionList是我有的無序列表的DIV。 P包含「按鈕」效果。

#callFlow是有序列表的DIV,它包含帶有佔位符類的單個li。

這大部分來自JQuery UI站點上的購物車演示。但是我已經離開了可拖放/可拖拽,並且只希望用戶點擊該按鈕並在另一個列表中使其「重複」。不需要排序,因爲它是一個流程構建應用程序,最終將根據您點擊的按鈕加載一個AJAX div。

任何援助是偉大的。我希望我在描述這個問題時足夠清楚。

+0

以上是在.ready函數中調用的。 – JClaspill 2010-07-22 15:26:32

+0

.text((this).text)中是否有拼寫錯誤.text(jQuery(this).text) – 2010-07-22 15:32:09

+0

@Marimuthu - 其實'jQuery(this).text()':) – 2010-07-22 15:32:31

回答

7

當獲取(或設置),你需要調用該函數的文字,就像這樣:

$("<li></li>").text($(this).text()).appendTo('#callFlow'); 

當你調用$(this).text它只是函數的引用,要實際執行的功能,並得到結果,所以用$(this).text()

+0

也注意缺少$在問題 – Matt 2010-07-22 15:33:54

+0

中的(this).text這並沒有解決我的問題,但我相信它修復了上面發佈的代碼時沒有其他代碼存在的實際問題。去標記爲已解決。有時間去挖掘我的一堆垃圾代碼,並找到我錯過了一些語法的地方。 – JClaspill 2010-07-26 13:57:30