Jquery 如何处理多个“问题”;“实例”;在文件中的相同形式

Jquery 如何处理多个“问题”;“实例”;在文件中的相同形式,jquery,asp.net-mvc,Jquery,Asp.net Mvc,使用具有重复控件的重复表单的多个实例的最简单方法是什么 <div id="divTest_Control1"> <form id="frmBaseClass" > <div id="divTest"></div> </form> </div> <div id="divTest_Control2"> <form id="frmBase

使用具有重复控件的重复表单的多个实例的最简单方法是什么

<div id="divTest_Control1">
      <form id="frmBaseClass" >    
        <div id="divTest"></div>    
      </form>
</div>
<div id="divTest_Control2">    
      <form id="frmBaseClass">    
        <div id="divTest"></div>    
      </form>
</div>

正在使用@将表单呈现为部分控件(使用AjaxBeginForm()

一次只能看到一个divTest_xxx,因为我正在隐藏/显示所选的divTest_xxx,而不是重新加载

我有一些js函数作为正在呈现的部分的一部分,因此如何关联$this…$(“#divTest”)。DoSomething不会总是按计划工作

事实上,每个表单上都有很多元素,每个元素的可见性都在表单本身的通用js函数中处理

我是jquery的新手,犯了一个新手错误。非常感谢您的帮助。 处理这种情况的最佳方法是什么


谢谢

您不想让多个元素具有相同的id。请将“共享”id更改为类

e、 g.假设您知道divTest_Control2是当前可见的,则使用复杂的jquery选择器访问特定元素,如:


$(“#divTest_Control2.divTest”)…

我只做了一点工作就解决了这个问题。冲突的子视图确实导致了一个问题。因此,我为报表类型视图设置了一个属性,指示始终重新加载。这将为我争取时间,直到我能够正确地执行此操作。

您的HTML无效。元素ID必须是唯一的。请改用类。最好的处理方法是从mo开始远离重复ID和类。接下来,不要让每个重复表单都包含js,而是让一个js来处理所有重复表单。您好,谢谢您的回复。我做了类似的事情,只是规模很小。如果我从一个包含父元素的js开始,我可以使用var divTest=$(“#”+parentDiv“+”.divTest”);我正在努力找到需要做的事情的最佳实践。谢谢你的回答。你和Kevin B有类似的答案。我只需要找到一份关于子分类控件的好白皮书。