Jump to content
  • 0

Вёрстка: Зависимый выпадающий список


Александр.Т.
 Share

Question

Здравствуйте. В макете попалась форма поиска в виде зависимого выпадающего списка, где сначала нужно выбрать "Brend"  и в зависимости от выбранного бренда, выбрать "Product" , потом уже нажимать Submit. Вопрос заключается в том, как правильно верстать такие формы поиска, чтобы можно было дальше передать программистам ? 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Верстать можно по разному.

Два пустых селекта + ассоциативный массив на js который будет содержать список из первого селекта в качестве ключей, а в значении массив строк для зависимого списка. Все это обрабатывать не большим скриптиком.

var selects = {"1":[11,12],"2":[21,22]};первый селект заполняем при загрузке$.each(selects,function(i, val){  $('.select1').append($("<option></option>").attr("value",i).text(i));}на первый селект вешаем обработчик на событие change$('.select1').on('change',function(){  $('.select2').clear();  $.each(selects[$(this).val()],function(i, val){      $('.select2').append($("<option></option>").attr("value",i).text(val));    }});

что-то вроде

Link to comment
Share on other sites

  • 0

я не очень понимаю js т.к только месяц изучаю html и css...  <div> и <a>  для стилизации стандартного select'a. Чтобы при выборе из select1 какого нибудь из брендов в select2 выходил какой-то определённый вид продукции. И потом передавалась комбинация из этих двух значений. Я так понимаю чтобы вёрстка была готовой к этой форме нужно подключить JS для обработки этих двух Select и всё ? а потом передавать работу тем, кто занимается PHP ? 

 вот моя форма:

 

 

<form class="form-search" action="action.php" method="POST" id="search">
  <div class="select-outer">
     <select class="select1" name="brand" size="1">
 
      <option class="lab" label="Brand">Brand</option>
      <option value="LG">LG</option>
      <option value="Apple">Apple</option>
      <option value="Android">Android</option>
      <option value="Nokia">Nokia</option>
   </select>
          <a class="select-button">v</a>
  </div>
<div class="select-outer">
   <select class="select2" name="product" size="1">
 
      <option label="product">product</option>
      <option value="monitor">monitor</option>
      <option value="notebook">notebook</option>
      <option value="pc">pc</option>
      <option value="smartfon">smartfon</option>
   </select>
         <a class="select-button bot">v</a>
  </div>
<input class="sub-search" type="submit" value="Search">
  <p>Search any product in our database.</p>
</form>
Link to comment
Share on other sites

  • 0

а в чем тут зависимость?
Apple делает все из ниже перечисленного
Android даже не представляю что из этого делает :)

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

<option label="product" data-brand='["Brand","LG","Apple","Android","Nokia"]'>product</option><option value="monitor" data-brand='["LG","Apple"]'>monitor</option><option value="notebook" data-brand='["LG","Apple"]'>notebook</option>...

ну а дальше так же привязываем событие change на select1
и проверяем присутствует ли в массиве data-brand из $('.select2 option') выбранные бренд, если да, то показываем option иначе скрываем

Link to comment
Share on other sites

  • 0

 

а в чем тут зависимость?

Apple делает все из ниже перечисленного

Android даже не представляю что из этого делает :)

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

<option label="product" data-brand='["Brand","LG","Apple","Android","Nokia"]'>product</option><option value="monitor" data-brand='["LG","Apple"]'>monitor</option><option value="notebook" data-brand='["LG","Apple"]'>notebook</option>...

ну а дальше так же привязываем событие change на select1

и проверяем присутствует ли в массиве data-brand из $('.select2 option') выбранные бренд, если да, то показываем option иначе скрываем

 

Спасибо большое !

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Bourdun
      Появился вопрос на который я так и не смог найти ответа. Нужно создать регистрацию и авторизацию с базой данных и я не понимаю как подключить php файл к html? В остальном попытаюсь разобраться сам
    • By AndreyCore
      При нажатии на кнопку в форме, сайт не перезагружается как нужно.
      В чем проблема?
      <div class ='div-form'> <h1>CALC</h1> <form id = 'myform'> <label for = 'inp-1'>Число 1</label> <input class = 'inp' id = 'inp-1' type ='text'></input> <br/><p></p> <label for = 'inp-2'>Число 2</label> <input class = 'inp' id = 'inp-2' type = "text"></input></form><br/> <input id = 'bu-end' type ='submit' value ="Суммировать"></input> <p class = 'sum' id = 'sum'>Сумма: <span class = 'sum-r' id = 'sum-r'></span></p> </form><hr/> </div>  
    • By iluha22
      Здравствуйте народ.
      Подскажите, как при заполнении формы обратной связи изменить язык всплывающих подсказок или язык ошибок обработчика формы?
      Форму создал на английском, а подсказки и ошибки всплывают по-русски.
      Спасибо.
    • By partisan42
      Доброго дня.
      Хочу реализовать такую вещь.
      Мне нужно сделать форму с некоторым количеством полей. Но количество полей должно быть вариативным.
      Как я это себе представляю, есть поле для ввода с выпадающим списком, в котором я выбираю например число 4. И у меня под ним появляется 4 поля для ввода, например textarea.
      Как это можно реализовать?
      Я не прошу всё расписывать за меня, но прошу хотя бы указать направление в котором можно копать.
      Заранее всем спасибо.
    • By Marina_dolya
      Добрый день. 
      Помогите решить проблемку. В chrom и Opera
      <select>
      <option>100g</option>
      </select>
      у g обрезаeтся хвостик. 
       
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy