Автор Тема: Вопрос по <select> multiple  (Прочитано 6570 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« : 07 Декабря 2006, 14:19:12 »
Искал по форуму, ответа не нашел.
Вопрос вот в чем:
Есть форма в которой есть селект с возможностью выбора только одного элемента. Но, когда форма субмитится, должны выделиться все элементы в этом селекте.

Если просто ставишь
Цитировать






тогда он выделяет только последний элемент селекта.
Когда я ставлю самостоятельно слекту свойство multiple, тогда все рабоает.
Если я немного меняю свою функцию и добавляю одну строчку
Цитировать
function onSelect() {
document.NForm.ss.options.multiple=true;
for(var i=0;i.selected=true;
}

тогда все работает, но, почему-то с двух нажатий на кнопку ОК...

Подскажите пожалуйста, как это реазовать красиво :)
очень надеюсь на вашу помощь
« Последнее редактирование: 08 Декабря 2006, 00:46:39 от partiz »

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Вопрос по <select> multiple
« Ответ #1 : 07 Декабря 2006, 16:05:42 »
partiz
первое что лезит в голову:
[off]Безработный[/off]

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #2 : 08 Декабря 2006, 00:48:13 »
Он сам чтоли вставит в все значения?
« Последнее редактирование: 08 Декабря 2006, 01:45:59 от partiz »

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #3 : 08 Декабря 2006, 02:07:36 »
В МСДНе нашел пример для JS:
Цитировать



   


   

     

HtmlSelect Example


      Select item(s) from the list:


     
     

      HtmlSelect Size:

     
        
     
     


     
     


     
   


вставляю себе эту функцию (без лишнего мусора) и снова пашет только со второго нажатия :(

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #4 : 08 Декабря 2006, 02:11:32 »
а эта шутку я назову ="чудеса" наоборот= :)
Цитировать






если изначально мултипле был истиной, то все работает отлично :)
что к чему не могу понять :(

у меня пока только одна идея по решению этой проблемы:
ставить мултипл в истину, а при онченж менять его в лож до субмита :)
« Последнее редактирование: 08 Декабря 2006, 02:51:56 от partiz »

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #5 : 08 Декабря 2006, 02:53:34 »
прошлая версия
Цитировать
ставить мултипл в истину, а при онченж менять его в лож до субмита

не работает...

выхода не вижу пока :(

Оффлайн Egorsha

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #6 : 08 Декабря 2006, 10:00:00 »
Может не въехал в тему, но попытаюсь советовать :) (не проверял код)

Вариант 1.

Цитировать
partiz:
...Но, когда форма субмитится, должны выделиться все элементы в этом селекте.


Если нужно именно это, то может быть попробовать следующее:


<form ....  onSubmit=" функция выделяющая все элементы селекта и возвращающая true">
.....

<
input type="submit" name="ok" value="ok">
....


Вариант 2.

В случае -
Цитировать
partiz:
...тогда все работает, но, почему-то с двух нажатий на кнопку ОК...


Не заметил (в приведенном коде), что при нажатии кнопки должна отправиться форма.

Может быть имеет смысл последней строчкой в функции onSelect() поставить строку вида "document.NForm.submit();"?

Принимаешь такой совет? ;)

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #7 : 08 Декабря 2006, 14:40:02 »
смысл в приведенном коде - разобраться в проблеме... код был приведен просто как пример, если разобраться в проблеме, которая в этом примере, то не составит сложности ее исправить в основном файле.

есть форма, в которой есть селект (в нем содержится несколько значений из одной области), пользователь радобает с этим селектом: добавляет (или убирает из него) какие-то значения. затем он сабмитит форму, причем этот селект должен передать ВСЕ значения, которые в нем находятся (что возможно, только если все они селектед=тру).

2 Egorsha... по сути нет разницы, куда ты впихнешь эту функцию, главное, чтобы она выделяла элементы... а она не выделяет! нет проблемы субмит вызвать, есть проблема элементы выделить...

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #8 : 09 Декабря 2006, 10:04:21 »
В общем, пока нашелся только один выход из этой ситуации
Вести два селекта параллельно, один видимый, в котором мултипл = фалсе, а другой невидимый, в котором он = тру :)
при сабмите на приеме обрабатывать невидимый и все =)))

Оффлайн for_i_0

  • $15 per hour
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 555
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.php.net/manual/en
Вопрос по <select> multiple
« Ответ #9 : 10 Декабря 2006, 11:19:23 »
partiz
Тебе нужно передать все значения элемента селект. Ну так запихивай их всех в скрытый элемент и все они будут отправлятся на сервер.
[off]Безработный[/off]

Оффлайн partiz

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Вопрос по <select> multiple
« Ответ #10 : 10 Декабря 2006, 11:58:26 »
2 for_i_0 ))) я об этом и написал выше ))) перечитай внимательней )))

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28