Php jquery:将参数传递给modal
我在表格中列出了以下内容,每行重复一次:Php jquery:将参数传递给modal,php,javascript,jquery,html,dom,Php,Javascript,Jquery,Html,Dom,我在表格中列出了以下内容,每行重复一次: <a <?php echo 'id="'.$id.'"'; ?> class="custom-dialog-btn btn btn-small"> <i class="icon-trash"></i> </a> 指的是对话框: <div id="mws-jui-dialog"> <div class="mws-dialog-inner"> <
<a <?php echo 'id="'.$id.'"'; ?> class="custom-dialog-btn btn btn-small">
<i class="icon-trash"></i>
</a>
指的是对话框:
<div id="mws-jui-dialog">
<div class="mws-dialog-inner">
<h2>Are you sure you want to delete?</h2>
</div>
</div>
您确定要删除吗?
如何将id传递给modal 使用以下代码获取id:
var id = $(this).prop("id");
您将获得所单击元素的id。您可以将数据属性附加到对话框div中,如下所示
$('a').click(function (e) {
e.preventDefault();
$("#your_dialog").data('mycustomdata', $(this).prop('id')).dialog('open');
});
然后像这样把它收回
$("#your_dialog").dialog({
autoOpen: false,
resizable: false,
height:200,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog('close');
},
'Delete': function() {
$(this).dialog('close');
var mydata = $(this).data('mycustomdata'); // = gives you the id of anchor element
// some delete logic
}
}
});
虽然Emin的答案确实有效,但我想知道这个fabuolus jQuery UI库是否有类似于JavaScript本机
confirm()
方法的对话风格?或者可能传入回调函数?这将消除包含业务逻辑的对话代码的需要。谢谢,@Emin。现在它可以工作了:)只有一个问题:我通常使用$(this.attr('id'),而您使用$(this.prop('id')。区别是什么?非常好的问题:请看以下内容:其中一个答案的摘要:“$.fn.prop()获取指定的DOM属性,而$.fn.attr()获取指定的HTML属性”“这是您当前使用的处理程序中的DOM元素。”$(这)另一方面是jQuery包装的元素,它允许您访问它的所有属性。例如,尝试在“Delete”函数中使用this.id,看看会发生什么。。您始终可以使用console.log(此)查看它所指的内容。。
$("#your_dialog").dialog({
autoOpen: false,
resizable: false,
height:200,
modal: true,
buttons: {
Cancel: function() {
$(this).dialog('close');
},
'Delete': function() {
$(this).dialog('close');
var mydata = $(this).data('mycustomdata'); // = gives you the id of anchor element
// some delete logic
}
}
});