【发布时间】:2014-09-24 15:42:21
【问题描述】:
我有一个删除确认弹出窗口,点击删除链接会打开。
我的 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
}
现在发生的事情是,
- 单击删除时会打开弹出窗口。
- 在我点击提交的弹出窗口中,它会抛出错误:
koList is úndefined'。
我需要在确认删除点击时传递数据和 KoList。因为该特定数据用于删除方法。
【问题讨论】:
-
我认为 knockoutJS 与您的问题无关。 koList 和 data 是局部变量,这就是为什么 koList 在提交中未定义的原因。您可以使用隐藏输入来存储您的值。
标签: javascript jquery knockout.js modal-dialog