Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.10.2013, 15:50
Интересующийся
Отправить личное сообщение для Купэ Посмотреть профиль Найти все сообщения от Купэ
 
Регистрация: 23.03.2011
Сообщений: 26

Функция next()
Всем привет, есть несколько селектов (<select>) на странице как при нажатии на селект выбрать следующий за ним селект.

<select>
   <option>1</option>
   <option>2</option>
</select>

<select>
   <option>1</option>
   <option>2</option>
</select>



Пробовал так:
$("body").on("change","select",function(){
        $(this).next("#select_"+selected_depth).append(data);
})


не работает, ссылка $(this) обязательна, т.е. нужно определить селект на который нажали,
Ответить с цитированием
  #2 (permalink)  
Старый 29.10.2013, 16:14
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Купэ
есть несколько селектов (<select>) на странице как при нажатии на селект выбрать следующий за ним селект
Как вариант...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
</style>
<script type="text/javascript">
$(function (){
	$("body").on("change","select",function(){
		$(this).next('select').focus();
	});
});
</script>
</head>
<body>
<select>
   <option></option>
   <option>1</option>
   <option>2</option>
</select>
<select>
   <option></option>
   <option>1</option>
   <option>2</option>
</select>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 29.10.2013, 16:35
Интересующийся
Отправить личное сообщение для Купэ Посмотреть профиль Найти все сообщения от Купэ
 
Регистрация: 23.03.2011
Сообщений: 26

Спасибо за ответ, но мне надо в выбранный селект добавить пункты <option></option>

Варианты
$(this).next("select").data(options);

$(this).next("select").append(options);
$(this).next('select').focus().append(options)


не работают
Ответить с цитированием
  #4 (permalink)  
Старый 29.10.2013, 16:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Купэ, что есть у тебя options?
Ответить с цитированием
  #5 (permalink)  
Старый 29.10.2013, 16:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Купэ
но мне надо в выбранный селект добавить пункты <option></option>
Начинается...

Как вариант...

$(this).next('select').prepend('<option></option>').focus();
Ответить с цитированием
  #6 (permalink)  
Старый 29.10.2013, 16:50
Интересующийся
Отправить личное сообщение для Купэ Посмотреть профиль Найти все сообщения от Купэ
 
Регистрация: 23.03.2011
Сообщений: 26

Ваш вариант правильный , только я в функции $.post() добавляю варианты списка там и ссылку ставлю в этой функции из-за этого не добавляется. ,т.е.

$("document").ready(function(){
	
	$("body").on("change","select",function(){
           		$.post("/auth/load_objects_by_depth.php",{},function(data){
                                 $(this).next("select").prepend(data).focus();
                         })

        })
})


Можно как-нибудь из этой функции сослаться на функцию которая вызывается при изменении списка ?

Последний раз редактировалось Купэ, 29.10.2013 в 17:09.
Ответить с цитированием
  #7 (permalink)  
Старый 30.10.2013, 09:04
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Купэ
только я в функции $.post() добавляю варианты списка там и ссылку ставлю в этой функции из-за этого не добавляется
Это последняя "новость"?

Как вариант...

$(function(){
   $("body").on("change","select",function(){
      var obj=this;
      $.post(
         "/auth/load_objects_by_depth.php",
         {},
         function(data){
            $(obj).next("select").prepend(data).focus();
         }
      );
   });
});

Последний раз редактировалось ksa, 30.10.2013 в 09:07.
Ответить с цитированием
  #8 (permalink)  
Старый 30.10.2013, 16:03
Интересующийся
Отправить личное сообщение для Купэ Посмотреть профиль Найти все сообщения от Купэ
 
Регистрация: 23.03.2011
Сообщений: 26

Спасибо, я вчера до этого додумался, если можете ответьте на вопрос есть div внутри него селекты , как при нажатии на селект определить в каком контейнере <div> он находится и перебрать следующие за ним селекты

<div class="cont">
   <select id="select_1">
     <option>1</option>
   </select>

   <select id="select_2">
     <option>1</option>
   </select>

</div>

<div class="cont">
   <select id="select_1">
     <option>2</option>
   </select>

   <select id="select_2">
     <option>3</option>
   </select>

</div>


Пробовал делать так:

$("body").on("change","select",function(){
   var main_container =$(this).parent('.cont');
   var count_select = $("select[id^='select_']").size();
   
   for ( var i = 1; i <= count_select; i++  ){

         $(main_container" > #select_"+i).prop("disabled", true);// не пашет
         или
         ("#select_"+i).parent(main_container).prop("disabled",true);//тоже не пашет
    }
})
Ответить с цитированием
  #9 (permalink)  
Старый 30.10.2013, 16:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Купэ,
а то что id повторяется ?
Ответить с цитированием
  #10 (permalink)  
Старый 30.10.2013, 16:12
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Купэ
как при нажатии на селект определить в каком контейнере <div> он находится
У ДОМ-элемента есть свойство parentNode...

Сообщение от Купэ
перебрать следующие за ним селекты
У ДОМ-элемента есть свойство nextSibling... В jQuery есть метод next()...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что такое функция callback() ? iNfantry Общие вопросы Javascript 13 19.01.2013 14:28
функция и несуществующий id Ankh Элементы интерфейса 4 10.02.2012 23:49
функция не успевает Sadist_dead Элементы интерфейса 22 02.10.2011 19:00
Универсальная функция Ajax запроса Finesse AJAX и COMET 21 15.06.2011 17:17
Где вызывается функция? cradis Общие вопросы Javascript 5 23.04.2011 13:47