2012-04-20 52 views
0

我有一个动态生成的页面上的形式的数量只读设置所有的领域以及一个CSS类。每个表单都有它自己的编辑按钮在一个定位标记中,当点击时,我想使用removeClass()和attr('readonly',false)来显示与该编辑按钮有关的表单。然而,如果我提供了一个类的点击处理函数的功能,这显然揭示了页面上的每个表单都不是所需的结果。多种形式只读和多个

我不需要任何代码,因为我想自己努力寻求解决方案,但如果任何人知道任何文章或特别的东西,我应该看看/使用请烧掉!

谢谢

+0

您是如何获得您在Click处理程序中调用'removeClass()'的窗体的引用?你是否使用某种对'$(this).parent()'的引用来获取表单? – mellamokb 2012-04-20 13:45:05

回答

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 ','selected'); // DO STUFF HERE}});

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/

+0

解决! ('。this).parent()。siblings('table')。hasClass('selected')。() )){ // DO的东西在这里 $(本).parent()的兄弟姐妹( '表')removeClass( '选择');。。 }否则{ $(本).parent()。 ('table')。attr('class','selected'); //在此处做的东西 } }); – user1293351 2012-04-20 16:23:12