Получить действие, чтобы сохранить от нажатия кнопки - PullRequest
0 голосов
/ 26 июня 2018

Я использую HTML + CSS + jQuery для разработки веб-страницы, и один из элементов страницы заключается в том, что пользователь вводит имя в форму, нажимает кнопку «Отправить», после чего должна появиться таблица. Вот соответствующий код для этой части, с кнопкой отправки, имеющей имя класса «кнопка отправки»:

$(document).ready(main)

function main()
{
    $(".submit-button").on("click", () =>
    {
        //code to draw table
    });

    //other code...
}

Проблема, с которой я сталкиваюсь, заключается в том, что таблица мигает на экране только на длину нажатия кнопки (что в принципе ничего), а затем исчезает. У меня вопрос, как заставить это действие сохраняться за пределами нажатия кнопки? Это должно быть вызвано нажатием кнопки, но также должно продолжаться и вне его. Я знаю, что код рисования таблицы работает при запуске вне обработчика событий, но я хочу сделать так, чтобы таблица отображалась только при нажатии кнопки. Есть идеи?

Ответы [ 2 ]

0 голосов
/ 26 июня 2018

Продолжая то, что сказал Arex, я использовал .css() метод.

В CSS я установил table { display: hidden; }

В качестве альтернативы вы можете использовать $('table').hide() или $('table').show().


$(document).ready(() => {
  $('table')
  $('button').on('click', () => {
    $('table').css('display', 'block');
  });
});
table {
    font-family: arial, sans-serif;
    border-collapse: collapse;
    width: 100%;
    display: none;
}

td, th {
    border: 1px solid #dddddd;
    text-align: left;
    padding: 8px;
}

tr:nth-child(even) {
    background-color: #dddddd;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<table>
  <tr>
    <th>Company</th>
    <th>Contact</th>
    <th>Country</th>
  </tr>
  <tr>
    <td>Alfreds Futterkiste</td>
    <td>Maria Anders</td>
    <td>Germany</td>
  </tr>
  <tr>
    <td>Centro comercial Moctezuma</td>
    <td>Francisco Chang</td>
    <td>Mexico</td>
  </tr>
  <tr>
    <td>Ernst Handel</td>
    <td>Roland Mendel</td>
    <td>Austria</td>
  </tr>
  <tr>
    <td>Island Trading</td>
    <td>Helen Bennett</td>
    <td>UK</td>
  </tr>
  <tr>
    <td>Laughing Bacchus Winecellars</td>
    <td>Yoshi Tannamuri</td>
    <td>Canada</td>
  </tr>
  <tr>
    <td>Magazzini Alimentari Riuniti</td>
    <td>Giovanni Rovelli</td>
    <td>Italy</td>
  </tr>
</table>
<br>
<button>Show Table</button>
0 голосов
/ 26 июня 2018

Учитывая, что таблица находится внутри div с идентификатором "mytable", используйте:

$(".submit-button").on("click", () =>
    {
        document.getElementById("mytable").style.display="block";
    });

Не забудьте сначала сохранить стиль "mytable" как display:none. Надеюсь, это то, что вам нужно.

...