На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ElcnU, ANDLL, fatalist
  
> Как восстановить раскрывающийся список, после его сброса? , Как вернуть dropdown menu к исходному состонияю после применения document.form.countries.options.length = 1;
    Добрый день!

    В приведенном ниже примере, функция reset() убирает все option меню, оставляя только первое: "Please select Country...".
    Подскажите пожалуйста, как можно вернуть раскрывающийся список к исходному состоянию, чтобы снова были видны все пункты меню?
    Спасибо за помощь!

    ExpandedWrap disabled
      <html>
      <head>
      <meta charset="UTF-8" />
      <title>Dropdownmenu</title>
      </head>
       
      <body>
       
      <form name="form">
          <select name="country_id" id="countries" onChange="test()">
              <option value="0">Please select Country...</option>
              <option value="1">Deutschland</option>
              <option value="2">Schweiz</option>
              <option value="3">Österreich</option>
          </select>
      </form>
       
      <p><button onclick="reset()">Reset</button></p>
       
       
      <script>
          function reset()
          {
              // Сбрасываем выбор в раскрывающемся списке стран,
              // оставляя только "Please select Country..."
              document.form.countries.options.length = 1;
          }
      </script>
       
       
      </body>
      </html>
      Попробуй вот так:

      ExpandedWrap disabled
        <html>
        <head>
        <meta charset="UTF-8" />
        <title>Dropdownmenu</title>
        </head>
         
        <body>
         
        <form name="form">
            <select name="country_id" id="countries" onChange="test()">
                <option value="0">Please select Country...</option>
                <option value="1">Deutschland</option>
                <option value="2">Schweiz</option>
                <option value="3">Österreich</option>
            </select>
        </form>
         
        <p><button onclick="reset()">Reset</button></p>
        <p><button onclick="undo()">Undo</button></p>
         
        <script>
           function reset()
           {
               // Сбрасываем выбор в раскрывающемся списке стран,
               // оставляя только "Please select Country..."
               document.form.countries.options.length = 1;
           }
           function undo()
           {
               const countries = ['Deutschland', 'Schweiz', 'Österreich'];
               for (let cnt = 0; cnt < countries.length; cnt++) {
                 var newOption = document.createElement("option");
                 newOption.value = cnt + 1;
                 newOption.text = countries[cnt];
                 document.form.countries.options.add(newOption);
               }      
           }
        </script>
         
        </body>
        </html>
        Спасибо Вам большое за помощь, и пример кода!
        Я думал, что есть некая встроенная в JS функция, которая возвращает список к его исходному состоянию, сбрасывая все его установки.
        А здесь получается, что нужен массив со странами, и уже из него генерировать меню динамически.
        Если другого варианта нет, буду конечно пробовать так сделать.
        Ещё раз благодарю за помощь.
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0182 ]   [ 15 queries used ]   [ Generated: 7.10.24, 17:27 GMT ]