Программирование => 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:
Цитировать
вставляю себе эту функцию (без лишнего мусора) и снова пашет только со второго нажатия :(
Название: Вопрос по <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: ...Но, когда форма субмитится, должны выделиться все элементы в этом селекте.
Если нужно именно это, то может быть попробовать следующее:
Название: Вопрос по <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 ))) я об этом и написал выше ))) перечитай внимательней )))