Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 删除确认-打开模式弹出窗口时从html传递数据_Javascript_Jquery_Knockout.js_Modal Dialog - Fatal编程技术网

Javascript 删除确认-打开模式弹出窗口时从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

我有一个删除确认弹出窗口,点击删除链接打开

我的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>
现在这里发生的是

  • 单击“删除”时弹出窗口打开
  • 在我单击submit的弹出窗口中,它抛出错误:
    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");
    }