Jump to content
  • 0

Как скрывать/показывать поле в зависимости от выбранного в списке?


nikki4
 Share

Question

есть обычный список, и пару текстовых полей. Как делается так, что при выборе "красного" автоматически активируется поле куда надо ввести что-то красное, а поле для зеленого - скрыто. как только выбирается зеленый цвет, то красное поле пропадает, и предлагают ввести зеленое


 

<select name="color">
<option value="red" >красный/option>
<option value="green">зеленый</option>
</select>

<input type="text" name="red_color" value="введите что-то красное"  />
<input type="text" name="green_color" value="введите что-то зеленое" />

 

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Пытаюсь сделать, и почему-то, если выбрать если выбрать зелёный, то его значение не выводится

http://plnkr.co/edit/SuVIjdkoMGoTPDIIIqCK?p=info

http://plnkr.co/edit/fCvVDymflIi7H3uAELNq?p=info

Я не понимаю, почему условие работает только 1 раз?

Edited by DivMan
Link to comment
Share on other sites

  • 0
2 часа назад, ows.nightwolf сказал:

Спасибо. А что значит value + color?

var activeField = this.selectedOptions[0].value+'_color';?

Пытаюсь адаптировать Ваш код под реальную форму. Но что-то не работает. Видимо это из-за _color, но на что его поменять

http://jsbin.com/towivixopa/edit?html,js,output

т.е. есть выбран 1 пункт из списка, скрыть последние 2 поля и отобразить 1

если выбран второй пункт. то скрыть 1 и 3 поле, отобразить 2

если выбран 3 пункт - отобразить все

Link to comment
Share on other sites

  • 0
var activeField = this.selectedOptions[0].value+'_color';

Тут имя поля генерируется на основании значения выбранного в поле select (если выбрано "red" то поле которое должно отображаться будет "red" + "_color"  = "red_color")

У вас мой пример работать не будет - все разбросано по странице, я предполагал что это все находится в одной форме.

Вам тогда можно задать для всех нужных input'ов id, а для пунктов select'а их значения (value) давать равными этим id'шникам (чтоб когда выбран определенный пункт в select'е можно было узнать какой input отображать). По событию change на selecte надо будет проходится по всем его пунктам, брать хранящиеся в них id, скрывать элементы с этими id, а потом отобразить тот который выбран (опять же, взяв его id из свойства value выбранного пункта). Но это уже сами реализуйте, принцип такой же как я выше написал.

Edited by ows.nightwolf
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

×
×
  • 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