[英]jquery: passing parameter to modal
我在表中有以下內容,每行重復一次:
<a <?php echo 'id="'.$id.'"'; ?> class="custom-dialog-btn btn btn-small">
<i class="icon-trash"></i>
</a>
其中id
對於每一行是不同的,因為它是從數據庫中的表中獲取的,它是主鍵。
然后,我使用了以下jQuery代碼:
$(".custom-dialog-btn").bind("click", function (event) {
$("#mws-jui-dialog").dialog("option", {
modal: false
}).dialog("open");
event.preventDefault();
});
$("#mws-jui-dialog").dialog({
autoOpen: false,
title: "Alert",
modal: true,
width: "640",
buttons: [{
text: "NO",
id: "cancel_button",
click: function () {
$(this).dialog("close");
}
},
{
text: "OK",
id: "confirm_button",
click: function () {
myremovefuntion(id); // I need the id
}}
]
});
指的是對話框:
<div id="mws-jui-dialog">
<div class="mws-dialog-inner">
<h2>Are you sure you want to delete?</h2>
</div>
</div>
我怎樣才能將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
}
}
});
使用以下代碼獲取id:
var id = $(this).prop("id");
並且您將獲得您點擊的元素的ID。
雖然Emin的答案肯定有效,但我想知道這個fabuolus jQuery UI庫是否具有類似於JavaScript的本機confirm()
方法的對話風格? 或者可能傳遞回調函數? 這將消除包含業務邏輯的對話代碼的需要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.