Лучший подход, чтобы скрыть и показать - PullRequest
0 голосов
/ 11 марта 2020

В настоящее время у меня есть несколько таблиц, а также форм, поэтому я использую это для их отображения:

switch (table) {

    case "table1":
        $("#form1").show();
        $("#form2").hide();
    break;

   case "table2":
        $("#form1").hide();
        $("#form2").show();
    break;
}

Так что, если у меня есть 1000 кнопок, представьте, что все это повторяется ..., это Есть ли лучший способ не повторять весь этот код снова и снова?

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Я бы структурировал свой код таким образом, чтобы можно было использовать меньше кода, как показано в следующем фрагменте, здесь я передаю только значение входного радио и использую его для создания атрибута <form> id и использую его только для отображения таблицы в вопрос.

$(document).ready(function(){
  $('form').toggle();
  $("input[type='radio']").click(function(){
     $('form').hide();
    $('#form' + $(this).val()).toggle();
  })
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
</head>
<body>

<input type="radio"  name="form" value="1">
<label for="form1">form1</label>

<input type="radio" name="form" value="2">
<label for="form2">form2</label>

<input type="radio"  name="form" value="3">
<label for="form3">form3</label>

<input type="radio" name="form" value="4">
<label for="form4">form4</label>


<form id="form1">
  <lable>input form 1</lable>
  <input type="text" />
</form>
<form id="form2">
  <lable>input form 2</lable>
  <input type="text" />
</form>
<form id="form3">
  <lable>input form 3</lable>
  <input type="text" />
</form>
<form id="form4">
  <lable>input form 4</lable>
  <input type="text" />
</form>
</body>
</html>
0 голосов
/ 11 марта 2020

Используйте селектор, чтобы скрыть все формы, затем покажите ту, которую нужно показать, используя идентификатор.

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