javascript - 从经典 .ASP 重复区域调用正确的、单独的模态菜单

标签 javascript jquery asp-classic

我的表单中有一个注释部分,允许具有权限的用户向特定记录添加信息。此非部分的一部分必须允许用户删除自己的注释或编辑自己的注释。我似乎遇到的问题是,当我添加一个似乎确认删除的 Jquery 模态菜单时,每个注释都会弹出菜单,因此,如果我的记录中有 5 个注释,则意味着我需要弹出 5 个菜单关闭。有没有办法让我定位正确的注释,以便只显示其指定的菜单?

ASP 代码部分:

        <% 
While ((Repeat1__numRows <> 0) AND (NOT RS_Notes.EOF)) 
%>

<%
Dim RS_Poster
Dim RS_Poster_cmd
Dim RS_Poster_numRows

Set RS_Poster_cmd = Server.CreateObject ("ADODB.Command")
RS_Poster_cmd.ActiveConnection = MM_Logistics_STRING
RS_Poster_cmd.CommandText = "SELECT EmpID, F_Name, L_Name FROM Employee INNER JOIN Notes ON Employee.EmpID = Notes.Emp_ID WHERE Notes.EMP_ID = "& RS_Notes.Fields.Item("Emp_ID").Value &""
RS_Poster_cmd.Prepared = true

Set RS_Poster = RS_Poster_cmd.Execute
RS_Poster_numRows = 0
%>

        <tr>
          <td colspan="4" id="Table-Row-Parent-Comments" ><br>
            <div id="Table-Row-Child-CommentsTitle">
            <div id="Table-Row-Child-CommentsTitle-Text">
            Posted By:<%=(RS_Poster.Fields.Item("F_Name").Value)%>&nbsp;<%=(RS_Poster.Fields.Item("L_Name").Value)%> Date:<%=(RS_Notes.Fields.Item("Note_Date").Value)%>
            <%If RS_Poster.Fields.Item("EmpID").Value = RS_User.Fields.Item("EmpID").Value Then%>
            <div id="Table-Row-Child-CommentsTitle-Text-EditDelete">
            <div align="right">
            Edit/<a href="#" id="Table-Content-DeleteNotes-Link">Delete</a>
            </div>
</div>
<%End If%>
</div>
</div>
<div id="Table-Row-Child-Comments">
  <div id="Table-Row-Child-Comments-Text">
    <p><%=(RS_Notes.Fields.Item("Note_Text").Value)%></p>
  </div>
  <br>
</div>
</td>
</tr>
<tr>
<td>

'SECTION OF MY CODE WHERE I ADD THE MODAL MENU FOR JQUERY 

      <form ACTION="<%=MM_noteDeleteAction%>" METHOD="POST" name="Modal-Menu-DeleteNote-Form" id="Modal-Menu-DeleteNote-Form">
        <input type="hidden" name="MM_insert" value="Modal-Menu-DeleteNote-Form">
        <input type="hidden" name="MM_delete" value="Modal-Menu-DeleteNote-Form">
        <input type="hiddenx" name="MM_recordId" value="<%= RS_Notes.Fields.Item("Note_ID").Value %>">
        <input type="submit" value="Delete"/>
      </form>
</td>
</tr>
<% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  RS_Notes.MoveNext()
Wend
%>

JQUERY 部分:

//delete note
    $("a#Table-Content-DeleteNotes-Link").click(function(){
    $("form[id=Modal-Menu-DeleteNote-Form]").dialog("open");
            })
    $("form[id*=Modal-Menu-DeleteNote-Form]").dialog(
    {
        autoOpen:false, 
        modal:true,
        width:800,
        height:500,
        title:"Delete Note",
         show:{effect:"fade",duration:300},
         hide:{effect:"fade",duration:300},
         buttons:{
            /* Delete:function(){
                 $("form[id=Modal-Menu-DeleteNote-Form]").submit();
                 },
            Cancel:function(){
                 $("form[id=Modal-Menu-DeleteNote-Form]").dialog("close");
                 }*/
             }
        });

就目前而言,如果我只需点击表单标签中创建的删除按钮,一切都会正常,它能够删除我想要的正确记录,我只是想添加一个模式菜单来确认删除一个特定的记录,所有注释菜单不会同时出现,如下图所示。谢谢。 enter image description here

最佳答案

部分问题是您的所有 FORM 都具有相同的 ID,因此当单击删除链接时,它会打开具有相同 ID 的所有对象。

最好通过更改此行来为每个人提供唯一的 ID...

<form ACTION="<%=MM_noteDeleteAction%>" METHOD="POST" name="Modal-Menu-DeleteNote-Form" id="Modal-Menu-DeleteNote-Form">

...到...

<form ACTION="<%=MM_noteDeleteAction%>" METHOD="POST" name="Modal-Menu-DeleteNote-Form" id="Modal-Menu-DeleteNote-Form_<%= RS_Notes.Fields.Item("Note_ID").Value %>">

在本例中,我更改了 ID 以包含注释 ID,但您可以使用索引变量来代替,只是使其唯一。

然后更改您的链接和 JavaScript,通过 ID 更改对表单的任何引用,以获取与单击的删除链接相关的表单。

更改您的链接...

<a href="#" id="Table-Content-DeleteNotes-Link">Delete</a>

...到...

<a href="#" id="Table-Content-DeleteNotes-Link" rel="<%= RS_Notes.Fields.Item("Note_ID").Value %>">Delete</a>

(这样我们就可以方便的在点击事件中查找ID了)

所有引用文献来自...

$("form[id=Modal-Menu-DeleteNote-Form]")

...到...

$("form[id=Modal-Menu-DeleteNote-Form_" + $(this).attr("rel") + "]")

当然,最好将其放入变量中。

请注意,有多种方法可以完成上述操作,我建议的方法不一定是最有效的。

关于javascript - 从经典 .ASP 重复区域调用正确的、单独的模态菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30811834/

相关文章:

javascript - jQuery 时间选择器和 jQuery 日期对 : How to set end time into 15mins

ajax - 在 jQuery 和 Controller Rails 之间传递值

javascript - 如何使用 .InnerHTML 方法放置特定的数组项

javascript - 在 jQuery 中内联 if else 语句

c# - 如何构建我的网站的移动(平板电脑)友好版本?

javascript - MaterializeCSS 将多项选择菜单捆绑在一起

java - 数据库如何变得可以被程序观察

Excel 作为网站的后端?

javascript - 如何为应用程序屏幕截图创建一个漂亮的水平滚动区域,就像 iTunes 上的应用程序一样?

javascript - 如何在 HTML 中获取字体大小