我正在使用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>
。
有什么想法吗?
答案 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')
如果有效,请告诉我。