Стиль раскрывающегося списка не применяется при добавлении с помощью JavaScript - PullRequest
0 голосов
/ 04 июня 2019

Поэтому я пытаюсь динамически (используя javascript) добавить поле ввода в форму, нажав кнопку «Добавить».Раскрывающийся css стиль семантического пользовательского интерфейса к первому полю, так как он не добавлен в javascript.Однако после нажатия кнопки «Добавить» новое поле, созданное стилем CSS, не применяется.

Вот ссылка на демоверсию.

https://jsfiddle.net/traorefly/h83245ju/#&togetherjs=QidJs02nya

Вот мой код

   <!DOCTYPE html>
<html>
  <head>
    <title>TOPS</title>
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.js"></script>
    <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css">
    <body>

    <div class="ui text container" style="margin-top: 20%">

  <form action="" class="ui form">
    <div class="field" id="timekeyword">
      <label>Segment Start Time/Keywords</label>
      <div class="ui action input">
        <input type="text" placeholder="Ex: 08:23" name="cut"> <select id="keywords" multiple="multiple" class="ui fluid search dropdown" name="video[keywords][]">
          <option value="Absolute">Absolute</option>
          <option value="Absolute Two">Absolute Two</option>
        </select>
        <div class="ui positive button" id="addField">Add</div>
      </div>
    </div>
  </form>
</div>


<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.js"></script>
        <script >

      $('.dropdown').dropdown();

    $('#addField').click(function(){
        var html = "<div class=\"field\">" +
            "         <div class=\"ui action input\">" +
            " <input type=\"text\" placeholder=\"Ex: 08:23\" name=\"cut\">" +
            "<select id=\"keywords\" multiple=\"multiple\" class=\"ui fluid search dropdown\" name=\"video[keywords][]\"><option value=\"Absolute\">Absolute</option>" +
            "<option value=\"Absolute Convergence\">Absolute Convergence</option>" +
            "<option value=\"Absolute Maximum\">Absolute Maximum</option>" +
       "         </div>" +
            "       </div>"
        $('#timekeyword').after(html)
    })

      </script>

  </body>
</html>

1 Ответ

1 голос
/ 04 июня 2019

fiddle: https://jsfiddle.net/8pcfz2a7/

Вы должны также вызвать $('.dropdown').dropdown(); для новых элементов.

, поэтому добавьте $('.dropdown').dropdown(); в конец обработчика кликов.

Вы также можете поместить это в функцию с именем update_ui для повторного использования кода.

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