2013-09-25 5 views
0

У меня есть много полей ввода с использованием Jquery Masked Input, но я не могу понять, как зафиксировать изменение значения на входе.Capture jQuery Masked Входное изменение ввода

Я попробовал:

JQuery.Change() 

$('#Selector').bind('input', function() {}) 

Но никакого успеха.

Любой может мне помочь?

+0

Событие oninput должно работать, но идентификаторы должны быть уникальными на странице контекста. Трудно помочь больше, не видя ничего полезного кода ... Вместо этого вы могли бы использовать событие onblur. –

+0

Вы также можете использовать событие keyup, которое срабатывает, когда пользователь нажимает клавишу. –

+0

Keyup работал отлично. Благодаря! – MarceloMadnezz

ответ

1

Вы просто значит ?:

$('#Selector').change(function() { 
    // respond to the change 
}) 

Или, если ваши элементы динамически добавляются в DOM, вы могли бы использовать:

$(document).on('change', '#Selector', function() { 
    // respond to the change 
}); 

(Вы не должны использовать document как общий родительский элемент, будет работать любой общий родительский элемент.)

В зависимости от типа ввода (а иногда и в браузере, к сожалению), вы можете попробовать other events, а также keypress, keyup, даже blur в некоторых случаях.

+0

Привет, Дэвид, спасибо за ваш ответ. Мне нужно запустить функцию, когда вход был изменен, в реальном времени, не только тогда, когда фокус выходит из входа. Моя проблема: я могу сделать это в обычном поле ввода, но в тех, у кого есть MaskedInput, я не могу зафиксировать это изменение. – MarceloMadnezz

+1

@MarceloMadnezz: Вы попробовали 'keyup' вместо' change'? Я не думаю, что значение ввода текста на самом деле * изменяется * во время набора текста, оно привязано к DOM после того, как фокус покидает вход. – David

+1

Keyup работал отлично. Благодаря! – MarceloMadnezz