gpt4 book ai didi

javascript - 为什么使用 knockout 在确认框中单击“取消”时会删除记录

转载 作者:行者123 更新时间:2023-12-02 18:13:48 27 4
gpt4 key购买 nike

<tbody data-bind="foreach: Items">

<tr>
<td data-bind="text: Code"></td>
<td data-bind="text: SubscriptionName"></td>
<td data-bind="text: Type"></td>
<td data-bind="dateText: StartDate, dateFormat: 'MM/DD/YYYY'"></td>
<td data-bind="dateText: ExpirationDate, dateFormat: 'MM/DD/YYYY'"></td>
<td data-bind="text: IsOneTime"></td>
<td data-bind="text: ValueDisplayType"></td>
<td data-bind="text: IsAvailable"></td>
<td>
<a data-bind="attr: { href: '/couponcode/edit/' + ID() }"><i class="icon-edit"></i> Edit</a> |
<a data-bind="click: $root.deletedata" href="javascript:void(0)" onclick="return confirm('Are you sure you wish to delete this record?');"><i class="icon-trash"></i> Delete</a>
</td>
</tr>

</tbody>





<script type="text/javascript">
var couponModel = ko.buildAjaxModel("@ConfigManager.Application.BuildApiUrl("couponcode/get/coupons")", CouponModel.Mapping, function () {
console.log(couponModel);
}, function (item) {

console.log(item);
}, true);
//This is the working of deletion
couponModel.deletedata = function (model) {
var save = new Framework.AjaxRequestInfo("@ConfigManager.Application.BuildApiUrl("/couponcode/delete/coupon")"+'/' + model.ID(), function () {
console.log(save);

Framework.Redirector.Redirect("@Url.Action("Index", "Code")");
}, function () {
});
save.setParamData(couponModel);
Framework.AjaxManager.remove(save);
};

$(function () {
Framework.DataBinder.applyBinding(couponModel, "coupon-codes");
couponModel.get();
});
</script>

//In controller

最佳答案

记录被删除,因为单击绑定(bind)覆盖了 onclick 事件。您必须将确认放入 deletedata 函数中:

<a data-bind="click: $root.deletedata" href="javascript:void(0)"><i class="icon-trash"></i> Delete</a>          

couponModel.deletedata = function (model) {
if (confirm('Are you sure you wish to delete this record?')){
var save = new Framework.AjaxRequestInfo("@ConfigManager.Application.BuildApiUrl("/couponcode/delete/coupon")"+'/' + model.ID(), function () {
console.log(save);

Framework.Redirector.Redirect("@Url.Action("Index", "Code")");
}, function () {
});
save.setParamData(couponModel);
Framework.AjaxManager.remove(save);
}
};

你不应该混淆 ko 和通用 js 处理程序。

关于javascript - 为什么使用 knockout 在确认框中单击“取消”时会删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19488150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com