Grails呈现内容动态访问id元素

时间:2013-01-02 21:07:58

标签: javascript jquery ajax grails grails-2.0

使用表单内的remoteLink函数呈现AJAX内容以填充手风琴(只是一些背景信息)。

双击JQuery Accordion小部件的每个段落内容时调用的function attatchEmail(test)。这就是运行函数... 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>

用尽探索之路,我确信在完全没问题之前我已经完成了这样简单的事情:/

请参阅两个屏幕截图,以获得更好的洞察力,谢谢

1 个答案:

答案 0 :(得分: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功能的工作方式,这有助于解决动态渲染的任何问题。