русский  עברית
tadam logo
Нашли ошибку в тексте?
Отметьте её курсором и нажмите
Ctrl + Enter
Проверка орфографии Xhtml.co.il
Orphus system
Рассылка
Присоединитесь к списку рассылки для получения последних новостей

Введите адрес электронной почты:

.change( handler(объектСобытия) )

Возвращает: jQuery

Описание: Привязвает обработчик события "change" JavaScript или запускает это событие на элемент.

.change( handler(объектСобытия) )

Добавлена в версию: 1.0
handler(объектСобытия)
Функция выполняется каждый раз, когда вызывается событие.

.change( )

Добавлена в версию: 1.0

.change( [ данныеСобытия ], обработчик(объектСобытия)

Добавлена в версию: 1.4.3
данныеСобытия
Карта данных, которая будет передана в обработчик событий.
обработчик(объектСобытия)
Функция для выполнения каждый раз, когда событие вызвано.

Этот метод является сокращением для .bind('change', handler) в первом варианте, и .trigger('change') во втором.

Событие change посылается элементу, когда его значение меняется. Это событие ограниченно для элементов <input>, <textarea> и <select>. Для полей выбора, флажков, радио-кнопок, это событие запускается сразу, когда пользователь делает выбор с помощью мышки, а для других типов элементов событие на элемент запускается когда элемент теряет фокус.

Рассмотрим, например, HTML:

<form>
  <input class="target" type="text" value="Field 1" />
  <select class="target">
    <option value="option1" selected="selected">Option 1</option>
    <option value="option2">Option 2</option>
  </select>
</form>
<div id="other">
  Trigger the handler
</div>

Обработчик события может быть связан с полем ввода и полем выбора:

$('.target').change(function() {
  alert('Handler for .change() called.');
});

Теперь, когда выбран второй вариант из поля выбора, будет выдано предупреждение. Оно также отобразится, если мы изменим текст в поле, а затем щелкним мышкой в другом месте. Если поле теряет фокус без изменения содержания, событие не вызывается. Мы можем вызвать событие вручную, когда другой элемент нажат:

$('#other').click(function() {
  $('.target').change();
});

После выполнения этого кода, нажатие на Trigger the handler также выдаст сообщение. Сообщение будет показано дважды, так как обработчик привязан к событию change обеих элементов формы.

Начиная с jQuery 1.4 событие change теперь распространяется, и работает одинаково во всех браузерах, и в Internet Explorer.

Примеры

Пример 1

По событию change запускается функция, которая получает текст каждой выбранной опции в списке и помещает этот текст в элемент div. После чего это событие вызывается посредством вызова .change().
    $("select").change(function () {
          var str = "";
          $("select option:selected").each(function () {
                str += $(this).text() + " ";
              });
          $("div").text(str);
        })
        .change();
Результат выполнения кода выше:

Пример 1 - Полный код:

По событию change запускается функция, которая получает текст каждой выбранной опции в списке и помещает этот текст в элемент div. После чего это событие вызывается посредством вызова .change().
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
                    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
  
  <script type="text/javascript" language="javascript">
  $(document).ready(function(){
    $("select").change(function () {
          var str = "";
          $("select option:selected").each(function () {
                str += $(this).text() + " ";
              });
          $("div").text(str);
        })
        .change();
  });
  </script>
  <style>
  div { color:red; }
  </style>
</head>
<body>
  <select name="sweets" multiple="multiple">
    <option>Chocolate</option>
    <option selected="selected">Candy</option>
    <option>Taffy</option>
    <option selected="selected">Caramel</option>
    <option>Fudge</option>
    <option>Cookie</option>
  </select>
  <div></div>
</body>
</html>

Пример 2

Для добавления проверки текстовых элементов ввода попробуйте:
$("input[type='text']").change( function() {
  // check input ($(this).val()) for validity here
});
Была ли эта информация полезной?
   

Комментарии