如何使用onClick在表单元素中切换类?

时间:2010-11-29 22:20:01

标签: javascript jquery dom

我正在寻找一些JS或jQuery(插件或其他)来帮助我操作jQuery的验证插件用于表单字段中的表单验证的class =“required”。当单击“删除”按钮时,我需要能够将该类切换为无效。

这里有更多关于为什么我需要能够切换该类“必需开启或关闭”的背景信息:

1)这是一个活动的多个与会者的注册表格

2)表格中有一个控件允许注册人“删除”与会者(如果他/她决定带2而不是4人)。这会切换该与会者的表单元素所在的DIV的可见性。我可以看到表单元素所属的参与者,因为我的PHP循环使用first_name_1创建了它们(对于第一个与会者),然后第二个与会者将具有first_name_2。然后每个div_attendee_1或2或3都有它​​们的表单字段,并在每个字段的末尾附加此计数器。

3)当div呈现visibility =“hidden”时,我还重置了该div中的表单元素。但我认为我还需要访问class =“required”来渲染它class =“”。

最好的方法是什么?这是我到目前为止切换可见性和重置字段值的jQuery:

验证:

 <script>
  $(document).ready(function(){
    $("#the_form").validate();
  });
  </script>

然后:

<script language="JavaScript">
  function showhidefield(hideablearea){
   document.getElementById(hideablearea).style.visibility = "hidden";
   var el = document.getElementById(hideablearea);
    if ( el.style.display != 'none' ) {
        el.style.display = 'none';
    }
    else {
        el.style.display = '';
    }
    $('#' + hideablearea).hide().find("input").val("");
    $('#' + hideablearea).attr('disabled', true);
  }
</script>

我应该尝试使用inner.html重写元素吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

更改

$('#' + hideablearea).hide().find("input").val("");

$('#' + hideablearea).hide().find("input").val("").removeClass("required");

答案 1 :(得分:0)

您可以使用addClass和removeClass。您也可以使用.css并将值设置为某个值,或将其设置为空,这将添加和删除样式而不是类...只是看起来您需要类级别。