0

我在页面上有动态生成的表单数量,所有字段和 css 类都设置了只读。每个表单在锚标记中都有自己的编辑按钮,单击该按钮时,我想使用 removeClass() 和 attr('readonly', false) 来显示与该编辑按钮相关的表单。但是,如果我为 func 提供类单击处理程序,这显然会显示页面上的每个表单,这不是所需的结果。

我不需要任何代码,因为我想自己解决问题,但是如果有人知道我应该查看/使用的任何文章或特别内容,请开火!!!

谢谢

4

2 回答 2

0

为了引用特定的表单,您需要有一些唯一的标识符。

你可以通过几种方式做到这一点。最直接的就是在每个表单上都有一个id,每个点击处理程序都可以找到具体的id。

但是,假设按钮位于它们各自的表单内部,可以实现更通用的解决方案,就像这样。

<form>
  <!-- your form elements -->
  <button class="edit_button">Edit this form</button>
</form>
<form>
  <!-- your form elements -->
  <button class="edit_button">Edit this form</button>
</form>
<form>
  <!-- your form elements -->
  <button class="edit_button">Edit this form</button>
</form>
<form>
  <!-- your form elements -->
  <button class="edit_button">Edit this form</button>
</form>
.
.
.

等等。

然后在您的点击处理程序中,您可以查找作为表单的点击目标(按钮)的第一个父级,并相应地执行操作。

http://api.jquery.com/parent/

于 2012-04-20T13:54:46.433 回答
0

解决了!$('.prefRoute').delegate('.editPrefRoute', 'click' , function() { if($(this).parent().siblings('table').hasClass('selected')) { / /在这里做东西 $(this).parent().siblings('table').removeClass('selected'); } else { $(this).parent().siblings('table').attr('class ', 'selected'); //在这里做东西 } });

于 2012-05-10T10:07:05.420 回答