Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2014, 22:18
Интересующийся
Отправить личное сообщение для Midel Посмотреть профиль Найти все сообщения от Midel
 
Регистрация: 05.04.2011
Сообщений: 20

Как имитировать изменение свойства select?
Есть селект. На него навешено одно событие change.
Но есть ситуация (при самом заходе на страницу), что мне нужно чтобы этот change отработал и выполнил свои функции.

Что мне написать, чтобы select изменился именно на то значение которое я хочу и плюс сработало событие change?

В общем что-то похожее на .click() без параметров, которое имитирует клик.

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2014, 22:29
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Midel,

<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<select id="test" name="" size="1" onchange="alert(this.value)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<script>
   document.getElementById('test').value = 2 ;
   document.getElementById('test').onchange()
</script>
</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2014, 22:35
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

.trigger()
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2014, 23:04
Интересующийся
Отправить личное сообщение для Midel Посмотреть профиль Найти все сообщения от Midel
 
Регистрация: 05.04.2011
Сообщений: 20

рони,
а как это будет выглядеть на jQuery?
у меня у того элемента, который должен быть selected есть атрибут dir="myselect"

<select id="test" name="" size="1">
<option value="1">1</option>
<option value="2" dir="myselect">2</option>
<option value="3">3</option>
</select>
Ответить с цитированием
  #5 (permalink)  
Старый 16.06.2014, 23:13
Интересующийся
Отправить личное сообщение для Midel Посмотреть профиль Найти все сообщения от Midel
 
Регистрация: 05.04.2011
Сообщений: 20

событие у меня задано следующим образом:
$("body").on('change', '.myselect', function() {...
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2014, 23:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Midel,
$("body").on('change', '.myselect',

и где этот класс в селекте?
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2014, 23:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Midel,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
   $(function ()
{
    $("body").on('change', '#test', function() {alert(this.value)}) ;
    $('#test').val(2).change();
})
  </script>
</head>

<body>
<select id="test" name="" size="1">
<option value="1">1</option>
<option value="2" dir="myselect">2</option>
<option value="3">3</option>
</select>

</body>

</html>
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2014, 23:38
Интересующийся
Отправить личное сообщение для Midel Посмотреть профиль Найти все сообщения от Midel
 
Регистрация: 05.04.2011
Сообщений: 20

Вот это не работает $('#test').val(2).change();

В общем у меня есть много селектов, у каждого класс myselect.

Внутри есть много option, и тот что нужно выбрать, у него dir=select_this

Пример:
<select class="myselect" name="" size="1">
<option value="1">1</option>
<option value="2" dir="myselect">2</option>
<option value="3">3</option>
</select>

<select class="myselect" name="" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3" dir="myselect">3</option>
</select>


Событие прописано так как я уже указывал, еще раз напишу:
$("body").on('change', '.myselect', function() {...


Я пытался сделать вот так, но не сработало:
$("[dir=myselect]").each(function() {
        $(this).closest("select").val($(this).html()).change();
    });


А так же пробовал так, тоже не срабатывает:
$("[dir=myselect]").each(function() {
        $(this).closest("select")
            .val($(this).html())
            .trigger('change');
    });


Может потому что событие прикреплено к классу?
Ответить с цитированием
  #9 (permalink)  
Старый 17.06.2014, 00:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Midel,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
  	$(function ()
  	  {
  	    $("body").on('change', '.myselect', function() {alert(this.value)});
  	    $("[dir='myselect']").each(function()
  	      {
  	        $(this).parent().val(this.value).change();
  	      }
  	    );
  	  }
  	)
  </script>
</head>

<body>
<select class="myselect" name="" size="1">
<option value="1">1</option>
<option value="2" dir="myselect">2</option>
<option value="3">3</option>
</select>

<select class="myselect" name="" size="1">
<option value="1">1</option>
<option value="2">2</option>
<option value="3" dir="myselect">3</option>
</select>


</body>
Ответить с цитированием
  #10 (permalink)  
Старый 17.06.2014, 09:20
Интересующийся
Отправить личное сообщение для Midel Посмотреть профиль Найти все сообщения от Midel
 
Регистрация: 05.04.2011
Сообщений: 20

$(this).parent().val(this.value).change();


так я тоже пробовал, не работает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
Как отследить изменение radio? housewm Events/DOM/Window 26 09.01.2014 03:03
Как отловить изменение computedStyle элемента danik.js Events/DOM/Window 8 25.10.2012 16:40
Как вывести на экран значение функции SELECT MAX(id) Владдд Серверные языки и технологии 3 25.01.2009 16:07
Как имитировать событие мыши Andrey_V Общие вопросы Javascript 4 10.11.2008 16:39