0

良い一日

ノックアウトを使用してデータを追加するフォームを使用しています。「削除」ボタン (下記参照) をクリックすると、警告なしにエントリが削除されます。アイテムを削除しようとしていることを最初にユーザーに警告するにはどうすればよいですか?

ありがとうございました

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);
        }
4

2 に答える 2

3

You could use window.confirm to open up a confirmation-box, catch the response and only delete if the response is true. Something like this:

data-bind="click: function(){ if (confirm('Delete, really?')) { vm.Remove($data) } }"
于 2013-03-05T08:49:09.607 に答える
1

これについては、knockout.js に特別なことは何もありません。JavaScript 関数を使用するだけですconfirm()

data-bind="click: function(){ if (confirm('really?') vm.Remove($data) }" 
于 2013-03-05T08:48:57.787 に答える