@deadended

Как сбросить все Select'ы в форме кроме одного где в данный момент focus и двух последних в форме?

Есть 30 форм select, по событию он фокус вызывается функция обратчик события, где выбирается связанный список (другой select). В один запрос может работать только один тип формы selecta. (таких форм 30 штук).
Проблема в том, что когда из 30 штук пользователь решает выбрать что-то еще кроме первого элемента формы - скрипт не знает что ему делать и не исполняет событие т.к. первая форма такого же типа уже выбрана...
Надеюсь понятно ...мне просто нужно понять как сбросить аналогичного типа элементы формы если выбирается второй элемент этого же типа. Но не трогать другие элементы, такие как main_id и city_id.

$(document).ready(function () {



$("select").focus(function(){ 			
var zz = $(this).attr('id');
var n = zz.search("form");
//alert(n);
if (n == '5') {
//	$("option:selected")
//$("option:selected").reset();
$(this).attr('id', 'city_form'); // <- замена атрибута
 { 
var arr2 = 'city_form';

}

		$("#" + arr2).change(function () {
//	$(this).attr('id', 'city_form');	
	//alert ('arr[0]');
		var city_form = $(this).val();
		if (city_form == '0') {
			$('#main_id').html('<option>- выберите регион -</option>');
			$('#main_id').attr('disabled', true);
			$('#city_id').html('<option>- выберите город -</option>');
			$('#city_id').attr('disabled', true);
			return(false);
		}
	}
		$('#main_id').attr('disabled', true);
		$('#main_id').html('<option>загрузка...</option>');
		
		var url = 'get.php';
		...
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
@iitovka
вот так можно:
$('select:not(:focus, #main_id, #city_id)').val(0).change();

val(0).change() - переводит у выбранных элементов значение в первый option
селектор ":not(:focus, #main_id, #city_id)" - исключает из набора элементы в фокусе и конкретные элементы по id
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы