Jquery, получить URL от клика и пройти, чтобы подтвердить кнопку в диалоге - PullRequest
1 голос
/ 05 июля 2011

У меня есть этот код jquery:

$("#deletec-box").dialog({
     autoOpen: false,
     resizable: false,
     height:230,
     modal: true,
     buttons: {
      "Confirm": function() {
          window.location = 'hrefurlfromclick';
          $(this).dialog("close");
      },
      Cancel: function() {
          $(this).dialog("close");
      }
     }
    });

    $("#deletec-confirm").click(function() {
        $("#deletec-box").dialog("open");
        return false;
    });

Тогда на странице у меня есть ссылка, которая вызывает диалог:

<a href="?action=delc&cid=2" id="deletec-confirm">Delete</a>

У меня вопрос, как мне получить значение href, чтобы, если человек подтверждает, что он загружает ссылку, по которой он первоначально щелкнул?

Ответы [ 3 ]

4 голосов
/ 05 июля 2011

Вы можете получить атрибут href с помощью: $('#deletec-confirm').attr('href');

Ваш код теперь выглядит следующим образом:

$("#deletec-box").dialog({
    autoOpen: false,
    resizable: false,
    height:230,
    modal: true,
    buttons: {
        "Confirm": function() {
            window.location = $('#deletec-confirm').attr('href');
            $(this).dialog("close");
        },
        Cancel: function() {
            $(this).dialog("close");
        }
    }
});

$("#deletec-confirm").click(function() {
    $("#deletec-box").dialog("open");
    return false;
});
0 голосов
/ 05 июля 2011

Получить с помощью атрибута

var url = $('#deletec-confirm').attr('href');
$("#deletec-box").dialog({
 autoOpen: false,
 resizable: false,
 height:230,
 modal: true,
 buttons: {
  "Confirm": function() {
      window.location = url;
      $(this).dialog("close");
  },
  Cancel: function() {
      $(this).dialog("close");
  }
 }
});
0 голосов
/ 05 июля 2011

Нужно ли использовать диалоговое окно jQuery UI? Вместо этого вы можете использовать поле подтверждения, например:

$("#deletec-confirm").click(function(event) {

    if(!confirm("Are you sure you want to delete this item?")) {
        event.preventDefault();
    }

});

Таким образом, если нажать кнопку «Отмена», исходное действие ссылки будет заблокировано, в противном случае ссылки могут выполнять свое исходное действие бесплатно.

Вот краткий пример.

...