1

削除アイコンを押して行を削除しようとしていますが、最初に SweetAlert 確認ウィンドウが必要です。

私のコード:

$(document).ready(function() {
      //$( 'button[data-target="#delete"' ).click(function() {
      $('##ads-overview tbody').on('click', 'button[data-target="#delete"', function() {
        swal({
          title: "Weet u het zeker?",
          text: "Deze actie is niet meer te herstellen",
          showCancelButton: true,
          confirmButtonColor: "#DD6B55",
          confirmButtonText: "Ja, ik weet het zeker!",
          cancelButtonText: "Annuleren",
          closeOnConfirm: false,
          closeOnCancel: false
        }, function(isConfirm) {
          if (isConfirm) {
            swal("Verwijderd!", "De advertentie is succesvol verwijderd", "success");,

            function() {
              table.row($(this).parents('tr')).remove().draw();
            }
          }
          } else {
            swal("Geanulleerd", "De advertentie is niet verwijderd", "error");
          }
        });
      });
    });

https://jsfiddle.net/6n3zsfd5/

アラート ウィンドウが表示されません。私は何を間違っていますか?

4

1 に答える 1

3

作業バージョン: https://jsfiddle.net/6n3zsfd5/5/

$(document).ready(function () {
      var table = $('#ads-overview').DataTable();

      $('#ads-overview tbody').on('click', 'button[data-target="#delete"]', function () {
          var btn = this;

          swal({
              title: "Weet u het zeker?",
              text: "Deze actie is niet meer te herstellen",
              showCancelButton: true,
              confirmButtonColor: "#DD6B55",
              confirmButtonText: "Ja, ik weet het zeker!",
              cancelButtonText: "Annuleren",
              closeOnConfirm: false,
              closeOnCancel: false
          }, function (isConfirm) {
              if (isConfirm) {
                  swal("Verwijderd!", "De advertentie is succesvol verwijderd", "success");
                  table.row($(btn).parents('tr')).remove().draw(false);
              } else {
                  swal("Geanulleerd", "De advertentie is niet verwijderd", "error");
              }
          });
      });
});

SweetAlert の呼び出し方に問題はありませんでした。コードにいくつかの構文エラーがあり、DataTable の設定方法に問題がありました。(それを見つけてくれたGyrocode.comに感謝します!)

構文エラーについては、開発者ツール ウィンドウまたは Javascript コンソールを開いて、ページの読み込み時にスローされるエラーを確認してください。それは問題のある行にあなたを導きます。


特定のコード修正:

DataTable を初期化する必要があります。

var table = $('#ads-overview').DataTable();

この行の先頭に 2 つのハッシュは必要ありませんが、「削除」の後に閉じ括弧が必要です。

$('##ads-overview tbody').on('click', 'button[data-target="#delete"', function(...
...^..............................................................^

この行の最後にコンマがありました:

swal("Verwijderd!", "De advertentie is succesvol verwijderd", "success");,

これは本当に意味がありません:

function() {
    table.row($(this).parents('tr')).remove().draw();
}

関数でラップする必要はありません。メソッドを呼び出すだけです。

これですべてが修正されるはずです。この回答の上部にある JSFiddle には、これらの修正がすべて含まれています。

于 2015-08-08T21:02:22.600 に答える