1

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

function attatchEmail(test)双击 JQuery Accordion 小部件的每个段落内容时调用的。这就是运行该功能所发生的事情... Screenshot of 1st alert & Screenshot of 2nd alert

是否无法选择段落并从段落中获取内容,如下所示?

(我试过改成.valand .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>

用尽了探索的途径,我敢肯定我以前做过这样简单的事情,完全没问题:/

请看两张截图以获得更好的见解,谢谢

4

1 回答 1

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函数的工作方式,这应该有助于解决动态渲染的任何问题。

于 2013-01-02T22:32:01.890 回答