В раскрывающемся списке слишком много элементов - PullRequest
0 голосов
/ 11 июня 2018

Я скачал JQuery-плагин для поиска в выпадающем списке.Вот источник

Я заполняю список с помощью D3.js.Это работает хорошо для нескольких элементов, но когда я хочу загрузить все элементы (около 1200), дизайн рушится, и список отображается в верхней части, так что я не могу видеть элементы и нет полосы прокрутки.

Вот как это выглядит, когда я загружаю целые элементы:

enter image description here

Здесь мы видим из инструмента разработчика в браузере, чтоданные загружены правильно:

enter image description here

Консоль показывает следующие нарушения:

enter image description here

Вот мой код D3.js:

d3.csv("Data/Symbols.csv").get(function (error, Symbolsdata) {
    if (error) throw error;

    d3.select("#my-select").selectAll(".option")
        .data(d3.map(Symbolsdata, function (d) { return d.CurrSymbol; }).keys())
        .enter().append("option")
        .text(function (d) { return d; })
        .attr("value", function (d) { return d; });
});

Html-скрипт:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">


    <title> Crypto Trading Project</title>

    <!-- Bootstrap core CSS -->
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <link rel="stylesheet" type="text/css" href="css/sol.css">


  </head>

  <body>

    <header>
      <div class="collapse bg-light" id="navbarHeader">
        <div class="container">
          <div class="row">
            <div class="col-sm-6 py-4">
                  <select id="my-select" name="Cryptos"  multiple="multiple"></select>
            </div>
            <div class="col-sm-6 py-4">
               From <input type="text" class="mt10px input" id="J-demo-04" value=""> To <input type="text" class="mt10px input" id="J-demo-05" value="">
                 &nbsp;&nbsp;&nbsp;<button type="button" id="applyFilterButton" class="btn btn-dark">Apply</button>
            </div>
            <div class="col-sm-3 py-4">
            </div>
          </div>
        </div>
      </div>
      <div class="navbar navbar-dark bg-dark box-shadow">
        <div class="container d-flex justify-content-between">
        <a href="#">Cryptos VA</a>

          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
          </button>
        </div>
      </div>
    </header>


    <main role="main">

    </main>

    <script src="js/jquery-3.3.1.min.js"></script>
       <script src="js/date-time-picker.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/sol.js"></script>


    <script type="text/javascript" src="js/d3.js"></script>
    <script type="text/javascript" src="js/loadsol.js"></script>

    <script type="text/javascript">

    $(function() {
        // initialize sol
      $('#my-select').searchableOptionList({
        showSelectAll: true
      });

     //dateTimePicker

       $('#J-demo-04').dateTimePicker({
          limitMax: $('#J-demo-05')
      });

      $('#J-demo-05').dateTimePicker({
          limitMin: $('#J-demo-04')
      });

    });
    </script>
  </body>
</html>

Как это работает?

1 Ответ

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

Я мог бы наконец понять это.Идея состоит в том, чтобы просто зафиксировать высоту активного контейнера и добавить полосу прокрутки.Поэтому я добавляю в файл sol.css к классу .sol-container.sol-active .sol-selection-container следующие два атрибута css:

height: 300px;
overflow-y: auto;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...