Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: partiz от 07 Декабря 2006, 14:19:12

Название: Вопрос по <select> multiple
Отправлено: partiz от 07 Декабря 2006, 14:19:12
Искал по форуму, ответа не нашел.
Вопрос вот в чем:
Есть форма в которой есть селект с возможностью выбора только одного элемента. Но, когда форма субмитится, должны выделиться все элементы в этом селекте.

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






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

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

Подскажите пожалуйста, как это реазовать красиво :)
очень надеюсь на вашу помощь
Название: Вопрос по <select> multiple
Отправлено: for_i_0 от 07 Декабря 2006, 16:05:42
partiz
первое что лезит в голову:
Название: Вопрос по <select> multiple
Отправлено: partiz от 08 Декабря 2006, 00:48:13
Он сам чтоли вставит в все значения?
Название: Вопрос по <select> multiple
Отправлено: partiz от 08 Декабря 2006, 02:07:36
В МСДНе нашел пример для JS:
Цитировать



   


   

     

HtmlSelect Example


      Select item(s) from the list:


     
     

      HtmlSelect Size:

     
        
     
     


     
     


     
   


вставляю себе эту функцию (без лишнего мусора) и снова пашет только со второго нажатия :(
Название: Вопрос по <select> multiple
Отправлено: partiz от 08 Декабря 2006, 02:11:32
а эта шутку я назову ="чудеса" наоборот= :)
Цитировать






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

у меня пока только одна идея по решению этой проблемы:
ставить мултипл в истину, а при онченж менять его в лож до субмита :)
Название: Вопрос по <select> multiple
Отправлено: partiz от 08 Декабря 2006, 02:53:34
прошлая версия
Цитировать
ставить мултипл в истину, а при онченж менять его в лож до субмита

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

выхода не вижу пока :(
Название: Вопрос по <select> multiple
Отправлено: Egorsha от 08 Декабря 2006, 10:00:00
Может не въехал в тему, но попытаюсь советовать :) (не проверял код)

Вариант 1.

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


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



.....


....


Вариант 2.

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


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

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

Принимаешь такой совет? ;)
Название: Вопрос по <select> multiple
Отправлено: partiz от 08 Декабря 2006, 14:40:02
смысл в приведенном коде - разобраться в проблеме... код был приведен просто как пример, если разобраться в проблеме, которая в этом примере, то не составит сложности ее исправить в основном файле.

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

2 Egorsha... по сути нет разницы, куда ты впихнешь эту функцию, главное, чтобы она выделяла элементы... а она не выделяет! нет проблемы субмит вызвать, есть проблема элементы выделить...
Название: Вопрос по <select> multiple
Отправлено: partiz от 09 Декабря 2006, 10:04:21
В общем, пока нашелся только один выход из этой ситуации
Вести два селекта параллельно, один видимый, в котором мултипл = фалсе, а другой невидимый, в котором он = тру :)
при сабмите на приеме обрабатывать невидимый и все =)))
Название: Вопрос по <select> multiple
Отправлено: for_i_0 от 10 Декабря 2006, 11:19:23
partiz
Тебе нужно передать все значения элемента селект. Ну так запихивай их всех в скрытый элемент и все они будут отправлятся на сервер.
Название: Вопрос по <select> multiple
Отправлено: partiz от 10 Декабря 2006, 11:58:26
2 for_i_0 ))) я об этом и написал выше ))) перечитай внимательней )))