2010-06-25 68 views
3

我喜歡添加一個按鈕(默認支持)並鏈接jQuery UI對話框。如何在jQuery UI對話框中添加鏈接?在我的情況下,我喜歡有保存按鈕和取消鏈接。提前致謝。jQuery UI對話框鏈接而不是按鈕

+0

你是如何打開和填充對話框。您是使用ajax還是使用頁面上存在的div。你只是想將鏈接注入對話框? – Zacho 2010-06-25 14:26:45

回答

0
$("#dialog-message").dialog({ 
    modal: true, 
    autoOpen: false, 
    width: 500, 
    buttons: { 
     'Save': function() { 
      //stuff you want to do 
     } 
    } 
}); 

,然後只需添加在你的HTML鏈接,讓id爲#awesomeLink

$("#awesomeLink").click(function() { 
    $("#dialog-message").dialog('close'); 
}); 
0

說有你希望它是一個鏈接,而不是一個按鈕,做同樣的事情的理由作爲鏈接?

您可以配置取消按鈕做這樣的事情:

window.location.href="http://www.google.com" 
1

您不能添加一個鏈接,而不是沒有真正的黑客了標記,將添加一個按鈕鏈接的工作? (只是一個按鈕,去的地方),就像這樣:

$("#dialog").dialog({ 
    modal: true, 
    buttons: { 
     Close: function() { 
      $(this).dialog('close'); 
     }, 
     GoPlaces: function() { 
      window.location = 'http://www.stackoverflow.com'; 
     } 
    } 
});​ 

You can try a demo here

6

你要的風格,你怎麼想的按鈕,但這種注入的鏈接,甚至結合點擊做你想。

$("#dialog").dialog({ 
    modal: true, 
    open: function(event, ui){ 
      $('<a />', { 
       'class': 'linkClass', 
       text: 'Cancel', 
       href: '#' 
      }) 
      .appendTo($(".ui-dialog-buttonpane")) 
      .click(function(){ 
       $(event.target).dialog('close'); 
      }); 
    }, 
    buttons: { 
     'Save': function() { 
      //save code here. 
     } 
    } 
});​ 
4

我的做法是將按鈕換成鏈接,以利用jquery ui css而無需設置鏈接樣式。

要訪問該按鈕,您需要在初始選項中爲其分配一個ID。

$('#your-selector').dialog({ 
         resizable: false, 
         height: 260, 
         closeOnEscape: true, 
         width: 475, 
         modal: true, 
         ..... 
         buttons: [ 
          { 
           text: "Continue Shopping", 
           id: "continue-d-btn", 
           click: function() { $(this).dialog("close"); } 
          }, 
          { 
           text: "Checkout", 
           id: "checkout-d-btn" // assign an id ! important 

          } 
         ], 
         open: function (event, ui) { 
           // this is where we add an icon and a link 
           $('#checkout-d-btn') 
           .wrap('<a href="[YOUR_LINK]" ></a>'); 

         } 

        }); 
0

我只是這樣做了我的代碼,它的工作方式就像一個魅力,在鉻。它使用本機對話框功能顯示兩個按鈕。第一個是指向一個文件,點擊時,下載文件而不刷新頁面。第二個按鈕只是關閉jQuery對話框。

var src = https://domain.com/yourfilepath; 

$("#dialog").dialog({ 
     buttons: [ 
      { 
       text: "download", 
       click: function() { 

        window.location.href=src; 
       } 
      }, 
      { 
       text: "close", 
       click: function() { 

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