2011-07-21 86 views
0

我正在使用struts2-jquery,我試圖創建一個模式對話框用於確認目的刪除一些東西。我不知道如何通過ID或「OK」來完成該動作。Struts-jquery對話框確認+鏈接ID

下面是我的代碼來創建對話框基於Struts2的-的jQuery:

<sj:dialog 
    id="anchordialogconfirm" 
    buttons="{ 
      'OK':function() {    
       //id of link is needed to c 
       $(this).dialog('close'); 
      }, 
      'Cancel':function() { $(this).dialog('close'); } 
      }" 
    resizable="false" 
    autoOpen="false" 
    modal="true" 
    title="Remove?" 
> 
Are you sure you want to remove it? 
</sj:dialog> 

<sj:a openDialog="anchordialogconfirm" id="71" cssClass="deleteemp">Delete</sj:a> 

顯然,如果我把在href =「」到錨然後在對話框中打開該鏈接,而不是得到一個模態確認對話。

我該如何找回錨的ID?我想要刪除鏈接的ID,或者至少要阻止鏈接被引用,直到它可以「確定」。

+0

我建議你離開扔SJ和公正使用普通的jQuery。當然,編寫實際代碼並不是java-ish(即使它只是一個HTML標記和兩個JS函數調用) - 但熟悉jQuery的任何人都可以使用您的代碼,並且如果您需要調試你不需要處理JS生成的代碼的東西。 – ThiefMaster

回答

1

您可以使用輔助變量來保存發送到對話框的數據。

在鏈接你會把這樣的事情:

<sj:a openDialog="anchordialogconfirm" onclick="aux=%{#attr.obj.id};" href="#">Remove<sj:a> 

你」等待您的對話框中該值:

<sj:dialog 
      id="anchordialogconfirm" 
      buttons="{ 
      'OK':function() { 
      $('#main').load('yourUrl.action?id='+aux); 
      $(this).dialog('close'); 
      }, 
      'Cancel':function() { $(this).dialog('close'); } 
      }" 
      resizable="false" 
      autoOpen="false" 
      modal="true" 
      title="Remove?"/>