Jestem, próbując powtórzyć pudełko "Potwierdź" JavaScript przy użyciu okna dialogowego JQuery. To jest mój kod,

function customConfirm(customMessage) {
        $("#popUp").html(customMessage);
        $("#popUp").dialog({
            resizable: false,
            height: 240,
            modal: true,
            buttons: {
                "OK": function () {
                    $(this).dialog("close");
                    alert(true);
                    return true;
                },
                Cancel: function () {
                    $(this).dialog("close");
                    alert(false);
                    return false;
                }
            }
        });
    }

Ale kiedy próbowałem powiadomić tę metodę, pokazuje "niezdefiniowany". Nie czeka na wyświetlenie popup. Jak mogę wykonać tę konfigurowanie funkcji, aby czekać na wprowadzenie użytkowników (OK / Anuluj) ?. Moja potrzeba jest to, że metoda Customonfirm () powróci albo PRAWDA FALSE zgodnie z wejściem użytkownika.

5
Anoop Joshi 28 listopad 2013, 14:07

2 odpowiedzi

To właśnie robię za pomocą Zepto z odroczanymi modułami i zwrotami zwrotami, działa jak urok. Powinien być podobny do jQuery lub możesz po prostu zaimportować moduły odroczonego i wywołania zwrotów w HTML

function customConfirm(customMessage) {
  var d = new $.Deferred();
  $("#popUp").html(customMessage);
  $("#popUp").dialog({
      resizable: false,
      height: 300,
      modal: true,
      buttons: {
          "Yes": function () {
              $(this).dialog("close");
              d.resolve()
          },
          "No": function () {
              $(this).dialog("close");
              d.reject();
          }
      }
  });
 return d.promise();
}

customConfirm("Do you Want to delete the File?")
.then(function(){
  console.log("You Clicked Yes")
})
.fail(function(){
  console.log("You Clicked No")
});
7
pyros2097 8 listopad 2015, 09:12

Powinieneś załadować okno dialogowe dotyczące funkcji gotowości dokumentów. Dialog połączeń otwarte na customConfirm Funkcja,

  function customConfirm(customMessage) {
    $("#popUp").html(customMessage);
    $("#popUp").dialog("open");
  }

  $(document).ready(function (){
    $("#popUp").dialog({
        resizable: false,
        autoOpen: false,
        height: 240,
        modal: true,
        buttons: {
            "OK": function () {
                $(this).dialog("close");
                alert(true);
                return true;
            },
            Cancel: function () {
                $(this).dialog("close");
                alert(false);
                return false;
            }
        }
    });

  });
2
Masudul 28 listopad 2013, 10:14