Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2016, 14:01
Новичок на форуме
Отправить личное сообщение для xassius Посмотреть профиль Найти все сообщения от xassius
 
Регистрация: 12.11.2016
Сообщений: 2

Динамическое включение/отключение option
Доброго всем!

Нужна помощь. Есть 18 select'ов. Набросал скрипт, который динамически отключает/включает option в остальных селектах при его выборе в одном. При тестировании option'ы включаются/отключаются как-то рандомно. Листинг кода на примере 3-х селектов:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script>
$('.my_select').change(function() {
	var arr_ext = ['row', 'col'];
	var cur_val = $(this).val()*1;
	var cur_id = $(this).attr('id').substr(8)*1;
	var prev = $(this).data('prev')*1;
	var info = "";
	var sel_obj_cnt = $('.my_select').length;
	
	if (cur_val > 0) {
		for (var i=1; i<=sel_obj_cnt; i++) {
			if (('selector'+cur_id) != $('select#selector'+i).attr('id')) {
				$("#selector"+i+" option[value='"+cur_val+"']").attr('disabled', true);
				info +='selector'+i+' disabled value ' + cur_val + '\n';
			};
		};
	};
	if (prev > 0) {
		for (var i=1; i<=sel_obj_cnt; i++) {
			if (('selector'+cur_id) != $('#selector'+i).attr('id')) {
				$("#selector"+i+" option[value='"+prev+"']").removeAttr('disabled');
				info +='selector'+i+' enabled value ' + prev + '\n';
			};
		};
	};
	$(this).data('prev', cur_val);
	//alert(info);
});
</script>
</head>
<body>
<table>
<thead><tr><th>Выбор по строкам</th><th>Выбор по столбцам</th></tr></thead>
<tbody>
<tr><td><select class='my_select' id='selector1'>
<option selected>--Ничего не выбрано--</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select></td>
<td><select class='my_select' id='selector4'>
<option selected>--Ничего не выбрано--</option>
<option  value=1>1</option>
<option  value=2>2</option>
<option  value=3>3</option>
</select></td></tr>

<tr><td><select class='my_select' id='selector2'>
<option selected>--Ничего не выбрано--</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select></td>
<td><select class='my_select' id='selector5'>
<option selected>--Ничего не выбрано--</option>
<option  value=1>1</option>
<option  value=2>2</option>
<option  value=3>3</option>
</select></td></tr>

<tr><td><select class='my_select' id='selector3'>
<option selected>--Ничего не выбрано--</option>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select></td>
<td><select class='my_select' id='selector6'>
<option selected>--Ничего не выбрано--</option>
<option  value=1>1</option>
<option  value=2>2</option>
<option  value=3>3</option>
</select></td></tr>

</tbody></table>
</body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2016, 00:05
Аватар для Coriolan161
Профессор
Отправить личное сообщение для Coriolan161 Посмотреть профиль Найти все сообщения от Coriolan161
 
Регистрация: 21.11.2015
Сообщений: 440

xassius,
Цитата:
При тестировании option'ы включаются/отключаются как-то рандомно
1) `как-то` не бывает. Тут скорее человеческий фактор
2) почему нельзя всё это прологировать?
Ответить с цитированием
  #3 (permalink)  
Старый 14.11.2016, 10:22
Новичок на форуме
Отправить личное сообщение для xassius Посмотреть профиль Найти все сообщения от xassius
 
Регистрация: 12.11.2016
Сообщений: 2

Сообщение от Coriolan161 Посмотреть сообщение
xassius,
1) `как-то` не бывает. Тут скорее человеческий фактор
можно сказать и так, учитывая тот факт, что глюк был в подключенном плагине select2.

всем спасибо.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавить скриптом классы на option Quark_ Общие вопросы Javascript 7 11.07.2016 12:13
Новый input при выборе определенного option SLameN Элементы интерфейса 4 03.07.2015 16:29
Изменение selecta при выборе option ainur777 Общие вопросы Javascript 1 10.01.2015 16:23
Как заставить меняться стиль option одного селекта в зависимости от выбора option.. print_r Общие вопросы Javascript 1 08.01.2013 23:11
Динамическое добавление нового option в form artwalek Элементы интерфейса 19 24.04.2009 17:42