2013-03-05 35 views
0

美好的一天在按鈕上顯示警告框 - 敲除

我正在使用使用knocknout添加數據的表單。 現在,當點擊'刪除'按鈕(見下文)時,它會刪除沒有警告的條目。我如何首先提醒用戶他即將移除該物品?

謝謝

HTML

<td><input type="button" class="register" value="Remove" data-bind="click: function(){ vm.Remove($data) }" /></td> 

淘汰賽

var vm = { 
      Data: ko.observable(), 

      Remove: function (card) 
      { 
       console.log(card.CardId()); 

       var d = { 
        cardId: card.CardId() 
       } 

       var options = 
       { 
        url: "MyAccount.aspx/DeleteCard", 
        type: "POST", 
        contentType: "application/json", 
        data: JSON.stringify(d), 

        success: function (response) 
        { 
         window.location = window.location; 
        } 
       } 

       $.ajax(options); 
      } 
     } 

     var cardsBound = false; 

     $(document).ready(function() { 

      LoadCards(); 
      $("#") 
     }); 

     function LoadCards() { 
      var options = 
      { 
       url: "MyAccount.aspx/GetCardTypes", 
       type: "POST", 
       contentType: "application/json", 

       success: function (response) { 

        vm.Data(ko.utils.unwrapObservable(ko.mapping.fromJS(response.d))); 

        if (!cardsBound) 
         ko.applyBindings(vm); 
        cardsBound = true; 
       } 
      } 
      $.ajax(options); 
     } 

回答

2

您可以使用window.confirm打開一個確認框,獲取響應並僅在響應爲true時刪除。類似這樣的:

data-bind="click: function(){ if (confirm('Delete, really?')) { vm.Remove($data) } }" 
+0

謝謝你。發揮魅力! – DextrousDave 2013-03-05 09:35:32

+0

@DextrousDave很高興幫助! – 2013-03-05 09:38:47

1

沒有什麼特別的knockout.js約,只需要使用JavaScript函數confirm()

data-bind="click: function(){ if (confirm('really?') vm.Remove($data) }" 
+0

謝謝。很好的工作... – DextrousDave 2013-03-05 09:35:55