2011-07-21 88 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?"/>