多个表单,只读和多个

时间:2012-04-20 13:41:23

标签: javascript jquery html css

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

我不需要任何代码,因为我想自己努力解决这个问题,但是如果有人知道任何文章或某些东西,我应该看看/使用,请开火!

由于

2 个答案:

答案 0 :(得分:0)

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

您可以通过几种方式完成此操作。最直接的方法是在每个表单上都有一个id,每个click处理程序都可以找到特定的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/

答案 1 :(得分:0)

解决了! $('。prefRoute')。delegate('。editPrefRoute','click',function(){if($(this).parent()。siblings('table')。hasClass('selected')){/ / DO STUFF HERE $(this).parent()。siblings('table')。removeClass('selected');} else {$(this).parent()。siblings('table')。attr('class ','选中'); // DO STUFF HERE}});