繁体   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