Javascript.RU

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

Помогите с формой(списком)
Народ помогите решить проблему!
У меня одна форма:
<form name="matchform" id = "form" method="post" action="">

<label for="nh1" id = "ga1">Первая</label>
<select name="menu" id="form_match1">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh2" id = "game2">Вторая</label>
<select name="menu2" id="form_match2">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh3" id = "ga3">Третья</label>
<select name="menu3" id="form_match3">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh4" id = "ga4">Четвертая</label>
<select name="menu4" id="form_match4">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh5" id = "ga5">Пятая</label>
<select name="menu5" id="form_match5">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh6" id = "ga6">Шестая</label>
<select name="menu6" id="form_match6">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh7" id = "ga7">Седьмая</label>
<select name="menu7" id="form_match7">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh8" id = "ga8">Восьмая</label>
<select name="menu8" id="form_match8">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh9" id = "ga9">Девятая</label>
<select name="menu9" id="form_match9">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh10" id = "ga10">Десятая</label>
<select name="menu10" id="form_match10">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh11" id = "ga11">Одинадцатая</label>
<select name="menu11" id="form_match11">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh12" id = "ga12">двенадцатая</label>
<select name="menu12" id="form_match12">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<input type="submit" name="knopka" id="knopka" value="ОК"/>
</form>

Как сделать что бы при выборе пяти любых списков остальные семь блокировались?
Прбовал эксперементировать с этим:

$('#form').change(function(){
var myChoice = $('#form_match1 :selected').val();
var myChoice2 = $('#form_match2 :selected').val();
var myChoice3 = $('#form_match3 :selected').val();
if((myChoice >= 2)&&(myChoice2 >= 2))
{
$('#form_match3').attr('disabled','disabled');

}

else{
$('#form_match3').attr('disabled',false);

if((myChoice2 >= 2)&&(myChoice3 >= 2))

{
$('#form_match1').attr('disabled','disabled');
}
else{

$('#form_match1').attr('disabled',false);

}

};
});
Но в этом случае надо задавать конкретные варианты,а таких вариантов более 50000 тысяч.Есть ли какой способ упростить этот процесс?Помогите пожалуйста!

Последний раз редактировалось vaskin, 02.01.2012 в 09:51.
Ответить с цитированием
  #2 (permalink)  
Старый 02.01.2012, 12:04
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно так
выбери 5 в своей форме - остальные блокируются
выбери меньше 5 - все разблокируются

<!DOCTYPE html>
<html>
<head>
	<meta http-equiv="content-type" content="text/html; charset=UTF-8">
	<title>demo</title>
	<script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script>
	<script>
	$(function(){
		$('#form').change(function(){
			var allSelect = $('select', this), // все select этой формы
				more1 = allSelect.filter(function () { // все select у которых value больше 1
					return $(this).val() > 1;
				}); 
			if (more1.length > 4) { // если таких 5 либо больше
				allSelect.not(more1).attr('disabled', 'disabled');
			} else {
			   allSelect.removeAttr('disabled'); // иначе все select делаем доступными
			}
		});
	});
	</script>

</head>
<body>
<form name="matchform" id = "form" method="post" action="">

<label for="nh1" id = "ga1">Первая</label>
<select name="menu" id="form_match1">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh2" id = "game2">Вторая</label>
<select name="menu2" id="form_match2">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh3" id = "ga3">Третья</label>
<select name="menu3" id="form_match3">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh4" id = "ga4">Четвертая</label>
<select name="menu4" id="form_match4">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh5" id = "ga5">Пятая</label>
<select name="menu5" id="form_match5">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh6" id = "ga6">Шестая</label>
<select name="menu6" id="form_match6">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh7" id = "ga7">Седьмая</label>
<select name="menu7" id="form_match7">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh8" id = "ga8">Восьмая</label>
<select name="menu8" id="form_match8">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh9" id = "ga9">Девятая</label>
<select name="menu9" id="form_match9">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh10" id = "ga10">Десятая</label>
<select name="menu10" id="form_match10">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh11" id = "ga11">Одинадцатая</label>
<select name="menu11" id="form_match11">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<label for="nh12" id = "ga12">двенадцатая</label>
<select name="menu12" id="form_match12">
<option value="1"></option>
<option value="2">позиция1</option>
<option value="3">позиция2</option>
<option value="4">позиция3</option>
</select>

<input type="submit" name="knopka" id="knopka" value="ОК"/>
</form>
  
</body>
</html>

Последний раз редактировалось Pavel M., 02.01.2012 в 12:08.
Ответить с цитированием
  #3 (permalink)  
Старый 02.01.2012, 20:13
Интересующийся
Отправить личное сообщение для vaskin Посмотреть профиль Найти все сообщения от vaskin
 
Регистрация: 02.01.2012
Сообщений: 11

ааааааа Pavel M. спасибо огромное!!!Я уж думал эту траблу не решит никто.

Последний раз редактировалось vaskin, 02.01.2012 в 23:13.
Ответить с цитированием
  #4 (permalink)  
Старый 02.01.2012, 21:43
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

можно и с чекбоксами

начни делать пример и, думаю, тебе помогут
Ответить с цитированием
  #5 (permalink)  
Старый 02.01.2012, 21:46
Интересующийся
Отправить личное сообщение для vaskin Посмотреть профиль Найти все сообщения от vaskin
 
Регистрация: 02.01.2012
Сообщений: 11

Спасибо!

Последний раз редактировалось vaskin, 02.01.2012 в 23:35.
Ответить с цитированием
  #6 (permalink)  
Старый 04.01.2012, 03:29
Интересующийся
Отправить личное сообщение для vaskin Посмотреть профиль Найти все сообщения от vaskin
 
Регистрация: 02.01.2012
Сообщений: 11

Народ подскажите что в этой функции не так?Поидее что то подобное и должно быть:

$(document).ready(function() { 
 var checkedboxes = $('input.onlyfive:checked'); 
 if (checkedboxes.length == 5) {
  
  checkedboxes.attr('disabled','disabled')
  
 }
 else{
 return false};
  
});



Вот сама форма:

<form name="matchform2" id = "form9" method="post" action=""> 

<input name = "sample_1" value="1" type="checkbox" />
<input name = "sample_1" value="2" type="checkbox" />
<input name = "sample_1" value="3" type="checkbox"  />
<input name = "sample_1" value="4" type="checkbox"  />
<input name = "sample_1" value="5" type="checkbox"  />
<input name = "sample_1" value="6" type="checkbox"  />
<input name = "sample_1" value="7" type="checkbox"  />
<input name = "sample_1" value="8" type="checkbox"  />
<input name = "sample_1" value="9" type="checkbox"  />
<input name = "sample_1" value="10" type="checkbox" />

</form>



Принцип тот же,выбрали 5 чекбоксов и форма заблокирована,выбрали меньше и форма доступна.

Последний раз редактировалось vaskin, 04.01.2012 в 03:35.
Ответить с цитированием
  #7 (permalink)  
Старый 04.01.2012, 16:29
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Вам Pavel M. написал рабочий пример, сравните его и ваш код
Ответить с цитированием
  #8 (permalink)  
Старый 04.01.2012, 19:44
Интересующийся
Отправить личное сообщение для vaskin Посмотреть профиль Найти все сообщения от vaskin
 
Регистрация: 02.01.2012
Сообщений: 11

ну если допустим сделать так:

$(function(){
       $('#form9').change(function(){
            var input = $('input', this), 
                more1 = input.filter(function () { 
                   return $(this).val() > 4;
                }); 
	            if (more1.length > 4) { 
	                input.not(more1).attr('disabled', 'disabled');
            } else {
               input.removeAttr('disabled'); 
	            }
	        });
	    });


То блокируются первые 4 чекбокса и обратно уже не разблокировать
Ответить с цитированием
  #9 (permalink)  
Старый 05.01.2012, 15:58
Аватар для bret
Кандидат Javascript-наук
Отправить личное сообщение для bret Посмотреть профиль Найти все сообщения от bret
 
Регистрация: 04.10.2008
Сообщений: 128

На онклик чекбокса повесить проверку количества выбранных - если их больше, чем допустимо - не отмечать чекбокс
__________________
я подыскиваю мозг... твой подойдёт
Ответить с цитированием
  #10 (permalink)  
Старый 06.01.2012, 03:15
Интересующийся
Отправить личное сообщение для ivan22 Посмотреть профиль Найти все сообщения от ivan22
 
Регистрация: 16.09.2011
Сообщений: 15

del

Последний раз редактировалось ivan22, 08.01.2012 в 03:04. Причина: исправил
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с replace! faforty Общие вопросы Javascript 2 28.08.2011 13:10
Элементарный скрипт не раборает только в IE, помогите! androlic Элементы интерфейса 6 23.03.2011 18:37
ПОМОГИТЕ с установкой 2 javascript- ов Рашид Общие вопросы Javascript 3 17.11.2010 16:19
Помогите! Многоуровневые вкладки! sergeeeeee Элементы интерфейса 2 02.08.2010 23:50
помогите задать селектор! mkrylov jQuery 2 28.06.2009 20:34