сделать функцию JavaScript особой - PullRequest
1 голос
/ 03 ноября 2011

У меня есть некоторый код jquery / javascript, который изменяет некоторые вещи в готовом документе и при изменении ввода формы.Как мне сделать эту форму специфичной?

$(function() {
    $('input[name="item_price[]"]').live('change', function () {
        var tr = $(this).parent().parent();
        CalculateData(tr);
    });

Если тег id моей формы - "my_form", как мне сделать, чтобы этот маленький фрагмент появлялся только в том случае, если item_price [] в "my_form" изменяется, а невсе экземпляры ввода item_price []?

Ответы [ 4 ]

1 голос
/ 03 ноября 2011

добавить #my_form в селектор jquery

$('#my_form input[name="item_price[]"]').live('change', function () {
    var tr = $(this).parent().parent();
    CalculateData(tr);
});
1 голос
/ 03 ноября 2011

используйте код селектора, как этот $('#my_form input[name="item_price[]"]') вместо

1 голос
/ 03 ноября 2011

Просто добавьте селектор идентификатора, #my_form, к существующему селектору:

$('#my_form input[name="item_price[]"]').live('change', function () {
    var tr = $(this).parent().parent();
    CalculateData(tr);
});

Дополнительная информация:

Справочник по селектору jQuery: http://api.jquery.com/category/selectors/

0 голосов
/ 03 ноября 2011

Вы можете использовать делегат следующим образом, чтобы прикрепить обработчик события к элементу формы.Это дает дополнительное преимущество, заключающееся в том, что в jQuery нет необходимости обрабатывать несвязанные события (т. Е. Те, которые произошли извне формы).

$('form#my_form').delegate('input[name="item_price[]"]', 'click', function() {
    ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...