2016-04-05 2 views
-1

У меня есть некоторые элементы ввода (текст, радио, флажок и т. Д.) В моем документе. Каждый из них должен изменить свой цвет при внесении изменений.Изменить цвет при изменении

Это мой подход:

$("document").on('click', 'change', 'select', function() { 
    $(this).addClass("changed") 
}); 

При изменении значения моих входных элементов, либо нажав кнопку, ввести текст или же выбором, цвет фона не меняется.

Here is a fiddle.

+4

__'.on (события [, селектор] [, данные], обработчик) '__ – Rayon

ответ

2

У вас есть несколько ошибок; document не должен быть в кавычках, поскольку вы предоставляете объект документа селектору, а также вы должны разделять события на пробел в одном параметре, а не на двух разных параметрах. Попробуйте это:

$(document).on('click change', 'select', function() { 
    $(this).addClass("changed") 
}); 

Если вы хотите предназначаться любой тип управления формы, используйте :input селектор:

$(document).on('click change', ':input', function() { 
    $(this).addClass("changed") 
}); 

ВИДЕТЬ jQuery API docs для более подробной информации.

+0

Это работает только с выбранными блоками, но не с другими элементами ввода. – user1170330

+0

@ user1170330, Когда вы выбрали другие элементы? Используйте ': input', если вы хотите .. – Rayon

+0

Ну, это задание, поскольку вы только выбрали элементы' select'. Если вы хотите настроить таргетинг как на «вход», так и на «select», используйте второй вход: «input». –

0

Маленькая ошибка. Оно должно быть:

$(function() { 
    $(document).on('click change', 'select, input', function() { 
//-^--------^---------^^^--------------^^^^^^^^^ 
    $(this).addClass("changed") 
    }); 
}); 

также обернуть его внутри document готовой функции.

Синтаксис .on() является:

.on(events [, selector ] [, data ], handler) 

Fiddle: https://jsfiddle.net/mL823jws/

+1

' space' или 'comma'? – Rayon

+0

@RayonDabre Er ... Я вас не понял, но он должен быть задан как одна строка, а не две. Вот что я пытался сказать. –

+0

Моя скрипка по-прежнему не работает с вашим кодом. У меня есть еще одна ошибка? – user1170330

Смежные вопросы