Как переключить класс в элементе формы, используя onClick? - PullRequest
0 голосов
/ 30 ноября 2010

Я ищу какой-нибудь JS или jQuery (плагин или другой), чтобы помочь мне с манипулированием class = "required", который плагин валидации jQuery использует для проверки формы в полях формы. Мне нужно иметь возможность переключать этот класс, чтобы он равнялся ничему при нажатии кнопки «Удалить».

Вот больше контекста о том, почему мне нужно иметь возможность включать или выключать этот класс:

1) Это регистрационная форма для более чем одного участника мероприятия

2) в форме есть элемент управления, позволяющий регистранту «удалить» участника (если он / она решает привести 2 вместо 4 человек). Это переключает видимость того DIV, где живут элементы формы этого посетителя. Я могу видеть, к какому участнику принадлежат элементы формы, поскольку мой цикл PHP создал их с именем first_name_1 (для первого участника), а затем у второго участника имя first_name_2. Затем каждый div_attendee_1 или 2 или 3 имеет свои поля формы с этим счетчиком, добавленным в конец каждого поля.

3) Когда div отображается визуально = "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 ]

2 голосов
/ 30 ноября 2010

Изменение

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

до

$('#' + hideablearea).hide().find("input").val("").removeClass("required");
0 голосов
/ 30 ноября 2010

Вы можете использовать addClass и removeClass. Вы также можете использовать .css и установить значение в что-то, или установить его в ничто, и это будет добавлять и удалять стиль, а не класс ... просто похоже, что вам нужен уровень класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...