Slyweb
На разработку сайта! Скидки 50%!

Помогите с формой(списком)

Вы можете задавать любые вопросы по jQuery.

Помогите с формой(списком)

Сообщение vaskin » 02 янв 2012, 10:54

Народ помогите решить проблему!
У меня одна форма:
Код: Выделить всё
<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
 
Сообщения: 1
Зарегистрирован: 02 янв 2012, 10:53

Re: Помогите с формой(списком)

Сообщение admin » 02 янв 2012, 23:22

Код: Выделить всё
<!DOCTYPE HTML>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
</head>


<script type="text/javascript">
$(document).ready(function(){
$("select").attr('disabled',false);

   $('#form select').change(function(){
      var str = 0;
       $("select option:selected").each(function () {
         
         if($(this).text()!=='') ++str;
           
      });
       if(str >=5) $("select").attr('disabled','disabled');
      console.log(str);

   });
});
</script>
<form name="matchform" id = "form" method="post" action="">

<label for="nh1" id = "ga1">Первая</label>
<select multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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 multiple="multiple"  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>
admin
Администратор
 
Сообщения: 165
Зарегистрирован: 15 авг 2009, 20:02


Вернуться в Вопросы по jQuery

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron