簡體   English   中英

刪除確認-在打開模式彈出窗口時從html傳遞數據

[英]Delete confirmation - pass data from html when modal popup is opened

我有一個刪除確認彈出窗口,單擊刪除鏈接即可打開。

我的HTML:

<div id="deleteModal">
        <p>Are you sure ? </p>
 </div>

<ul data-bind="foreach: activList">
<li class="icn add" data-bind="click: function () { $root.deleteFileAsset('Image', $data); }">
<a data-bind="click: function () { $root.deleteImage('Image', $data); }">
<img src="../../CSS/images/DeleteCross.png" />
</a>
<b data-bind="text: title"></b>
</li>
</ul>

在我的JS文件中(單擊刪除后,將立即調用以下方法):

var _deleteImage = function (koList, data) {
        window.event.cancelBubble = true;
        $('#deleteModal').dialog("open");
    }

//Modal popup is opened with the below code which is in ready function
//Ready Function//
$('#deleteModal').dialog({
            autoOpen: false,
            modal: true,
            width: 628.73,
            height: 328.38,
            buttons: {
                'Submit': function () {
                    _deleteFile(koList, data);
                    $(this).dialog("close");
                },
                Cancel: function () {
                    $(this).dialog("close");
                }
            }
        });

//This function is called in the submit click of modal popup
_deleteFile(koList, data)
{
 // code for deletion goes here
}

現在發生的是

  1. 單擊刪除后,將打開彈出窗口。
  2. 在單擊“提交”的彈出窗口中,它將引發錯誤: koList is úndefined'

我需要在確認刪除點擊時傳遞數據和KoList。 因為該特定數據用於刪除方法。

您需要將要傳遞的數據存儲在某處,因為koListdata變量是局部的。

您可以嘗試在_deleteImage添加此行,該行使用jQuery在模態的DOM節點上存儲數據:

$('#deleteModal').data('_tmpData', { koList: koList, data: data });

並修改提交回調:

function () {
var tmpData = $(this).data('_tmpData');
_deleteFile(tmpData.koList, tmpData.data);
$(this).dialog("close");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM