Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Перебор значений выпадающего списка через select/option (https://javascript.ru/forum/jquery/31597-perebor-znachenijj-vypadayushhego-spiska-cherez-select-option.html)

Игося 13.09.2012 18:58

Перебор значений выпадающего списка через select/option
 
Здравствуйте, форумчане!
Нужна ваша помощь в решении следующей задачи.
Для простоты буду пояснять на примере.
Есть такая форма (теги action, method, name, size, value... я опускаю для облегчения чтения):
<form>
Расставьте значения по приоритету (назовем ее так)<br>
Супер важно
<select>
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
Средней важности
<select>
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
Вообще не важно
<select>
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
</form>

Вопрос: как сделать так, чтобы при выборе "значения1" из первого select-a его option пропадал в двух последующих, дабы его случайно (или умышленно) не выбрали второй раз в другом select-е? При выборе "значения1" он пропал в первом и третьем... А при выборе "значения1", а затем "значения3" в первом select-е (может человек случайно ошибся, передумал или не попал с первого раза мышкой на нужный пункт), "значения1" восстанавливалось в остальных select-ах. Есть подозрение на использование функции hide, но я не уверен.
Буду признателен за любую помощь.

bot87 13.09.2012 19:47

удаление идет по содержимому в option
<select onchange="fn(this.selectedIndex)">
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
Средней важности
<select>
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
Вообще не важно
<select>
<option>Значение 1</option>
<option>Значение 2</option>
<option>Значение 3</option>
</select>
</form>
<script>
function fn(index){
	
	selects=document.getElementsByTagName('select');
	
	val=selects[0].options[index].value;
	
	for(var i=0;i<selects[1].options.length;i++){
		if(val==selects[1].options[i].value){
			selects[1].options[i]=null
			}
		}
			for(var j=0;j<selects[2].options.length;j++){
		if(val==selects[2].options[j].value){
			selects[2].options[j]=null
			}
		}
	

	}

Игося 14.09.2012 10:09

Спасибо, но малость не то.


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