Javascript 删除确认-打开模式弹出窗口时从html传递数据
我有一个删除确认弹出窗口,点击删除链接打开 我的HTML:Javascript 删除确认-打开模式弹出窗口时从html传递数据,javascript,jquery,knockout.js,modal-dialog,Javascript,Jquery,Knockout.js,Modal Dialog,我有一个删除确认弹出窗口,点击删除链接打开 我的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
<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>
现在这里发生的是
koList是úndefined'
我需要的数据和KoList是通过确认删除点击。因为特定的数据在delete方法中使用。您需要将要传递的数据存储在某个位置,因为
koList
和data
变量是本地变量
您可以尝试在\u deleteImage
中添加这一行,该行使用jQuery将数据存储在模型的DOM节点上:
$('#deleteModal').data('_tmpData', { koList: koList, data: data });
和修改提交回调:
function () {
var tmpData = $(this).data('_tmpData');
_deleteFile(tmpData.koList, tmpData.data);
$(this).dialog("close");
}
我不认为knockoutJS与你的问题有关。koList和数据是局部变量,这就是为什么koList在submit中没有定义。可以使用隐藏输入来存储值。
function () {
var tmpData = $(this).data('_tmpData');
_deleteFile(tmpData.koList, tmpData.data);
$(this).dialog("close");
}