2016-01-19 4 views
0

Это сообщение разрешено. Ответ:Событие Связывание с селектором цепи

$("body").on("change", "#formId > input, #formId > select", function() { 

Мой вопрос:

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

$("body").on("change", "input, select", function() { 

Я хочу связать свой ввод и выбрать элемент в конкретной динамической форме, которая будет загружаться в теле позже. Не все формы. Одна конкретная форма.

Пример объяснить, но, вероятно, не действует, конечно:

$("body.#formId").on("change", "input, select", function() { 

ИЛИ

$("body.#formId").on("change", "#formId.input, #formId.select", function() { 

Таким образом, мой идентификатор события срабатывать только для этой конкретной формы.

Подробнее:

Между телом, которое, очевидно, присутствует на нагрузке, а также форма, которая не является, есть <div id="screen"></div>, что там на нагрузке. он скрыт, пока я не накормлю что-нибудь. Но я тоже не могу использовать этот. Там вся моя форма. Поэтому мне действительно нужно создать цепочку, в которой у меня есть элемент, присутствующий на теле, который свяжет его с моим идентификатором формы.

+0

Очень запутанно, потому что ваш синтаксис для селекторов недействителен. Селектор слева, завернутый в '$()', должен быть постоянным активом на странице. Целевые селекторы, безусловно, могут быть более конкретными и включать цепочку потомков, хотя ваш синтаксис неверен, поэтому не уверен, какую структуру вы хотите настроить. – charlietfl

+0

Первая строка действительна! Я хочу связать эти данные и выбрать их в определенной форме. Вы имеете в виду, что вы не знаете, какую часть в цепочке я хочу настроить. Верхняя часть ввода и выберите, очевидно. Я хочу присвоить им идентификатор формы. Да, да, правильный синтаксис. – MadeInDreams

+0

@ charlietfl lol Вы знали, что мне нужно изменить 1 точку для> или просто притвориться. Потому что ваш комментарий похож на 25 раз дольше, чем мог бы быть ответ. – MadeInDreams

ответ

2

Я не совсем уверен, что понимаю вашу конечную цель, но я думаю, вы говорите, что хотите изменить контекст первых селекторов на динамическую. Это возможно дубликат What is "context" in jQuery selector?

// assuming you are supplied a dynamic formId 
$('#' + formId, 'body').on('change', 'input, select', function (e) {}); 

Я добавил ссылку на рабочий jsFiddle. Обратите внимание, что я жестко закодировал идентификатор формы в своей скрипке, потому что вы никогда не приводили пример того, где и как вы получали эти данные.

+0

Это именно то, что я имею в виду. Вы, например, не работаете, когда я использую другую форму, которую я еще запускаю. Я хочу использовать одну конкретную форму. – MadeInDreams

+1

@MadeInDreams Не могли бы вы опубликовать свою версию моего решения? Мне очень любопытно узнать, почему это не для вас, а не для меня. – kaboom

+0

хорошо, у вас на вашей странице больше одной формы? и они динамически добавляются на страницу. Потому что мои формы не на странице. Они добавляются позже.И если я укажу formID с телом, как вы это делаете, он запускает diffrentId – MadeInDreams

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