亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Jquery UI對話框中實現“確認”對話框?

如何在Jquery UI對話框中實現“確認”對話框?

天涯盡頭無女友 2019-10-23 16:12:43
我嘗試使用JQuery UI對話框替換丑陋的javascript:alert()框。在我的場景中,我有一個項目列表,在每個項目旁邊,我將為每個項目都具有一個“刪除”按鈕。偽html設置如下:<ul>    <li>ITEM <a href="url/to/remove"> <span>$itemId</span>    <li>ITEM <a href="url/to/remove"><span>$itemId</span>    <li>ITEM <a href="url/to/remove"><span>$itemId</span></ul><div id="confirmDialog">Are you sure?</div>在JQ部分中,在準備好文檔后,我首先將div設置為帶有必要按鈕的模式對話框,然后將要觸發的那些“ a”設置為確認,然后將其刪除,例如:$("ul li a").click(function() {  // Show the dialog      return false; // to prevent the browser actually following the links!}好,這是問題所在。在初始化期間,對話框將不知道是誰(項目)啟動它,也不知道項目ID(?。?。我如何設置那些確認按鈕的行為,以便在用戶仍然選擇“是”的情況下,將通過該鏈接將其刪除?
查看完整描述

3 回答

?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

我發現Paul的答案不太有效,因為在單擊事件實例化對話框之后,他設置選項的方式不正確。這是我的代碼正在工作。我沒有量身定制它來適應Paul的例子,但這只是貓的胡須的區別,因為某些元素的命名不同。您應該能夠解決它。更正是在單擊事件的按鈕的對話框選項的設置器中。


$(document).ready(function() {


    $("#dialog").dialog({

        modal: true,

        bgiframe: true,

        width: 500,

        height: 200,

        autoOpen: false

    });



    $(".lb").click(function(e) {


        e.preventDefault();

        var theHREF = $(this).attr("href");


        $("#dialog").dialog('option', 'buttons', {

            "Confirm" : function() {

                window.location.href = theHREF;

            },

            "Cancel" : function() {

                $(this).dialog("close");

            }

        });


        $("#dialog").dialog("open");


    });


});

希望這對其他人有所幫助,因為本文最初使我走上了正確的軌道,我認為我最好發布更正。


查看完整回答
反對 回復 2019-10-23
?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

我為jquery ui確認對話框創建了自己的函數。這是代碼


function myConfirm(dialogText, okFunc, cancelFunc, dialogTitle) {

  $('<div style="padding: 10px; max-width: 500px; word-wrap: break-word;">' + dialogText + '</div>').dialog({

    draggable: false,

    modal: true,

    resizable: false,

    width: 'auto',

    title: dialogTitle || 'Confirm',

    minHeight: 75,

    buttons: {

      OK: function () {

        if (typeof (okFunc) == 'function') {

          setTimeout(okFunc, 50);

        }

        $(this).dialog('destroy');

      },

      Cancel: function () {

        if (typeof (cancelFunc) == 'function') {

          setTimeout(cancelFunc, 50);

        }

        $(this).dialog('destroy');

      }

    }

  });

}

現在在您的代碼中使用它,只需編寫以下內容


myConfirm('Do you want to delete this record ?', function () {

    alert('You clicked OK');

  }, function () {

    alert('You clicked Cancel');

  },

  'Confirm Delete'

);

繼續。


查看完整回答
反對 回復 2019-10-23
  • 3 回答
  • 0 關注
  • 649 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號