Реализация окна подтверждения удаления при нажатии кнопки «Удалить»

У меня есть элемент списка. Когда пользователь нажимает «X» для любого элемента списка, мне нужно показать окно подтверждения для удаления с надписью Вы уверены, что хотите удалить этот элемент? вместе с кнопками «Да/Нет».

Если пользователь нажимает «Да», элемент должен быть удален. Мой код для удаления работает отлично. Я просто не уверен, как показать window.confirm в html-части. Вот мой код:

<ul data-bind="foreach: activeList">
    <li data-bind="click: function () { $root.delete('Item', $data); }">
        <a data-bind="click: function () { $root.DeleteFile('Item', $data); }">
            <img src="../../DeleteCross.png" />
        </a>
    </li>
</ul>

Пожалуйста, предложите.


person user2598808    schedule 30.07.2014    source источник


Ответы (1)


вы не можете сделать это в html-части. Вам нужно отобразить это в части javascript.

<li data-bind="click:$root.delete('Item', $data)">
    <a data-bind="click:$root.DeleteFile('Item', $data)">
        <img src="../../DeleteCross.png" />
    </a>
</li>

В вашей модели просмотра создайте такую ​​​​функцию

self.delete = function() {
    var confirm_delete = confirm('Are you sure you want to delete this?');
    if (confirm_delete) {
        // deletion code goes here
    }
}
person Muhammad Raheel    schedule 30.07.2014
comment
Я видел пример на некоторых форумах и пробовал то же самое. Но это не работает для меня. Пожалуйста, предложите, если код неверен или есть другой лучший подход. ‹ul data-bind=foreach: activeImageList› ‹li class=icn add data-bind=click: function () { if (confirm('Удалить, правда?')) { $root.deleteFile('Image', $data ); } }› ‹a data-bind=click: function () { $root.DeleteFile('Image', $data); }› ‹img src=../../CSS/images/RedCross.png /› ‹/a› ‹b data-bind=text: title›‹/b› ‹/li› ‹/ul› Спасибо - person user2598808; 30.07.2014