2013-01-02 58 views
1

AJAX內容在窗體內部用remoteLink函數呈現以填充手風琴(只是一個小背景信息)。Grails動態地呈現訪問id元素的內容

function attatchEmail(test)這是在雙擊JQuery Accordion小部件的每個段落內容時調用的。這就是運行該功能所發生的情況... Screenshot of 1st alert & Screenshot of 2nd alert

是不是可以選擇段落並從下面的段落中獲取內容?

(我試圖改變.val.html.text。我也曾嘗試$('#'+testingID)

_form.GSP

function attatchEmail(test) { 
    $(document).ready(function() 
    { 
    var testingID = test.id; 
    alert(testingID); 
    var testingValue = $(testingID).val(); 
    alert(testingValue); 
    }); 
}; 

_contactListAjax.GSP

<g:each in="${contactList}" status = "i" var="contact"> 
    <h3><a href="#">${contact.contactSurname +', '+ contact.contactForename}</a></h3> 
    <div><p id="contact${contact.id}" ondblclick="attatchEmail(this)">${'Email: '+contact.email}</p></div> 
</g:each> 

運行出去的途徑探索,我敢肯定,我已經做了一些簡單的像在此之前完美的罰款:/

見兩個截圖請更好的洞察力,感謝

+0

爲什麼在函數內部有一個文檔就緒函數? – Gregg

+0

這只是一個測試,我試圖探索任何可能的奇怪的事情。我的意思是在我發佈之前將其刪除,我的壞Gregg – RST

回答

0

嗯,它看起來像你使用jQuery,但它看起來像你並不真正購買jQuery方法。現在混合行爲與標記並不是一個好的做法,特別是在使用像jQuery這樣的庫時。我不知道您的具體問題,但我會建議其更改爲類似如下:

<g:each in="${contactList}" status = "i" var="contact"> 
    <h3><a href="#">${contact.contactSurname +', '+ contact.contactForename}</a></h3> 
    <div><p class="contact-email" data-id="${contact.id}">${'Email: '+contact.email}</p></div> 
</g:each> 

$(function() { 
    $("body").on("dblclick", ".contact-email", attachEmail); 
}); 

function attatchEmail(event) { 
    var $element = $(event.target); 
    var id = $element.data("id"); 
}; 

這應該幫助解決,因爲jQuery on功能的工作方式與動態渲染任何問題。

+0

我相信它現在正在工作,這是粉碎...我只是要quikcly再次測試 – RST

+0

你應該閱讀jQuery的鏈接,然後你會明白如何作品。如果它不適合你,那麼你做錯了。我有相當多的代碼可以完美地處理動態內容。 – Gregg

+0

我提供的JavaScript不需要在每次載入表單時加載。它只需要加載一次,因此將其放入一個對您的應用程序全局的腳本文件中,並且只加載一次。 – Gregg