Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.02.2014, 16:25
Новичок на форуме
Отправить личное сообщение для CoRviN88 Посмотреть профиль Найти все сообщения от CoRviN88
 
Регистрация: 17.03.2013
Сообщений: 9

установка нескольких значений в multiple select
пытаюсь сделать скрипт, который бы выставлял в multiple select'e те опции, которые совпадают с данными из массива..
пытаюсь делать так:

<? $array_tip_n_size = count($array_tip_n);
       	for ($j = 0; $j < $array_tip_n_size; ++$j)
        {
        ?>
        <script>
  	for(var i = 0; i < document.getElementById('filter_tip_n').length; i++)   {
    	if(document.getElementById('filter_tip_n').options[i].value == "<? echo $array_tip_n[$j]; ?>") {
      	document.getElementById('filter_tip_n').options[i].selected = true;
    	} 
  	}
	</script>
	<?
         }
    }
    ?>


но в итоге в select'e выбирается толькo одно значение..
подскажите что не так, заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 26.02.2014, 16:31
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,201

CoRviN88, риторический вопрос... ПХПисты начнут нормальные тестовые примеры показывать? Или прям так свой ПХПшный фарш и будут всегда копировать?
Ответить с цитированием
  #3 (permalink)  
Старый 26.02.2014, 16:40
Новичок на форуме
Отправить личное сообщение для CoRviN88 Посмотреть профиль Найти все сообщения от CoRviN88
 
Регистрация: 17.03.2013
Сообщений: 9

ну ок.
есть массив:
<? $array_tip_n[] = "Комната";
$array_tip_n[] = "Дом"; ?>


есть select:
<select id="filter_tip_n" name="filter_tip_n[]" class="span12" multiple>
<option>Комната</option>
<option>1-комнатная</option>
<option>Дом</option>
<option>Студия</option>
</select>


хочу на основе этого получить:
<select id="filter_tip_n" name="filter_tip_n[]" class="span12" multiple>
<option selected>Комната</option>
<option>1-комнатная</option>
<option selected>Дом</option>
<option>Студия</option>
</select>


с помощью вот этого:
<? $array_tip_n_size = count($array_tip_n);
       	for ($j = 0; $j < $array_tip_n_size; ++$j)
        {
        ?>
        <script>
  	for(var i = 0; i < document.getElementById('filter_tip_n').length; i++)   {
    	if(document.getElementById('filter_tip_n').options[i].value == "<? echo $array_tip_n[$j]; ?>") {
      	document.getElementById('filter_tip_n').options[i].selected = true;
    	} 
  	}
	</script>
	<?
         }
         }
        ?>


но в итоге выбирается только 1 пункт
Ответить с цитированием
  #4 (permalink)  
Старый 26.02.2014, 17:42
Новичок на форуме
Отправить личное сообщение для CoRviN88 Посмотреть профиль Найти все сообщения от CoRviN88
 
Регистрация: 17.03.2013
Сообщений: 9

разобрался, тему закрыть
Ответить с цитированием
  #5 (permalink)  
Старый 27.02.2014, 04:58
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Так не делают. Вы записываете столько кусков кода js, сколько элементов в массиве.

Массив придется передавать в js, а там уже обычно.

На сервере можно задать только текущее, активное значение, если изменения идут через обновление страницы.

select multiple кодирует выбор двоичным кодом.
Ответить с цитированием
  #6 (permalink)  
Старый 27.02.2014, 05:39
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Если все опшны генерятся на сервере, то бля, не проще ли тут же, при их генерации ставить метку selected нужным? Помоему до этого даже даун додуматься может...
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 27.02.2014, 08:07
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

for ($j = 0; $j < $array_tip_n_size; ++$j)
echo '<option', ($array_tip_n_size[$j]&j)?'selected="selected"':null,'>' ...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Установка кнопкой всех значений SELECT одинаково Лавсановые Волокна Элементы интерфейса 3 28.12.2010 13:28
Сделать список multiple select с сортировкой элементов Nargiza Элементы интерфейса 2 17.08.2010 14:44
select multiple передать много значений Mozger Events/DOM/Window 3 22.05.2010 02:43
multiple в select MaxB Events/DOM/Window 1 28.08.2009 19:30
Обработка значений select multiple разум Я не знаю javascript 7 08.06.2009 14:09