Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Плотно объеденить input и option (https://javascript.ru/forum/misc/58290-plotno-obedenit-input-i-option.html)

skawizer 14.09.2015 05:41

Плотно объеденить input и option
 
День добрый формучане, я вообще не шарю в js, поэтому прошу помощи :help: Заранее спасибо.

Есть: (именно multiple="multiple" - чтобы использовать как чекбоксы, выбирать много пунктов)
<select multiple="multiple" >
        <option value="феррари">феррари</option>
        <option value="ламборгини">лабмо</option>
        <option value="бмв">бумер</option>
        <option value="мерседес">мерин</option>
</select>


Надо:
Нажимаю на option и value идет в input. если зажимаю несколько value то они идут через запятую. Если отжимаю value, то естественно конкретный value стирается из нашего input поля.

Допустим:
Я нажал на ламбо, мерин
И в моем input поле вижу это:
<input value="ламбо, мерин">

Нажимаю еще на бумер и вижу:
<input value="ламбо, мерин, бумер">

ОТЖИМАЮ чекбокс мерин и вижу это:
<input value="ламбо, бумер">


Ребята, очень нужно, просто необходимо, помогите пожалуйста!

---
На вашем форуме видел:
<select id="chto" onchange="chtom.value=this.value;">
      <option  value="">выберите</option>
      <option id="bag" value="10">bag</option>
      <option id="t-shirt" value="20">t-shirt</option>
      <option id="shose" value="30">shose</option>
      <option id="shirt" value="40">shirt</option>
      <option id="pen" value="50">pen</option>
    </select>
    <input type="text" id="chtom">

Это близко, но нельзя выбрать несколько пунктов, и нельзя отжать чекбокс. Если нажал то все - останется.

laimas 14.09.2015 06:21

А зачем выбор в списке дублировать еще и в input?

ruslan_mart 14.09.2015 07:48

http://jsfiddle.net/m762873u/

рони 14.09.2015 12:34

Ruslan_xDD,
зачем .join(', ') ?

ruslan_mart 14.09.2015 13:33

рони, для пробела после запятой. :) Да и вообще для наглядности, вдруг автор захочет не через запятую перечислить.

skawizer 14.09.2015 20:05

Просто лучший. Помог, огромное спасибо! :thanks:

skawizer 14.09.2015 22:23

Цитата:

Сообщение от Ruslan_xDD (Сообщение 388579)
рони, для пробела после запятой. :) Да и вообще для наглядности, вдруг автор захочет не через запятую перечислить.

Мне этот код очень подошел, но не подскажешь как выводить именно что написанно в value="" ? А не то что в option. Заранее спасибо! :)

рони 14.09.2015 22:27

Цитата:

Сообщение от skawizer
именно что написанно в value=""

долго думать над строкой
result.push(this.options[i].text);
:(

skawizer 14.09.2015 22:33

Цитата:

Сообщение от рони (Сообщение 388633)
долго думать над строкой
result.push(this.options[i].text);
:(

О все, спасибо ;)
Поменял на value, все работает.

рони 14.09.2015 22:45

skawizer,
:dance:


Часовой пояс GMT +3, время: 08:51.