获取链接的id并将其传递给jQueryUI对话框小部件

时间:2012-09-03 15:13:40

标签: jquery jquery-ui jquery-ui-dialog

我正在使用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>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

$(".reportopen").click(function(){
var monId= $(this).attr("id");
$("#reportUniqueId").text(monId);
$dialog.dialog('open');
});

答案 1 :(得分:0)

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

如果您想使用console.log,则可以检查此对象,但重要的是e.target指的是触发click事件的DOM元素。 我相信你可以先使用jQuery将它转换成一个包装的元素/元素,即:

$(e.target)

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

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

如果有效,请告诉我。