0

我正在使用 jQueryUI 的对话框小部件。现在,使用 jQuery+AJAX 从 SQL 数据库中获取链接,这就是我使用“live”的原因

$(function() {
    var $dialog = $('#report')
            .dialog({
                autoOpen: false,
                resizable: false,
                modal: true,
                height: 410,
                width: 350,
                draggable: true
            })
        //store reference to placeholders
        $uid = $('#reportUniqueId');

    $('.reportopen').live("click", function (e) {
        $dialog.dialog('open');
        var $uid = $(this).attr('id');
        e.preventDefault();
    });
});

我的问题是,如何将id触发对话框小部件的链接传递给对话框本身?链接是这样设置的:

<td align="left" width="12%">
  <span id="notes">
    [<a href="javascript:void(0)" class="reportopen" id="<?=$reportId;?>">Spam</a>]
  </span>
</td>

对话框是这样设置的:

<div id="report" title="Inquire now">
HAHAHAHAHA
<span id="reportUniqueId"></span>
</div>

我希望在对话框id的一部分中传递和生成。<span id="reportUniqueId"></span>

任何想法?

4

2 回答 2

1
$(".reportopen").click(function(){
var monId= $(this).attr("id");
$("#reportUniqueId").text(monId);
$dialog.dialog('open');
});
于 2012-09-03T15:36:59.763 回答
0

当您使用 jQueryclick处理程序时,它会将一个传递 给您在参数中event命名的函数。e

如果你愿意,你可以检查这个对象console.log,但重要的是它e.target指的是触发点击事件的 DOM 元素。我确信您可以使用 jQuery 首先将其转换为包装的集合/元素,即:

$(e.target)

那么您可以使用其他评论中的技术获取其 ID,即:

$(e.target).attr('id')

请让我知道这是否有效。

于 2012-10-18T15:59:56.930 回答