Выберите форму из нескольких форм в JQuery - PullRequest
0 голосов
/ 01 марта 2012

Используя Jquery change (), как я могу выбрать только поля form1 вместо всех полей формы?Вот мой код ниже.Прямо сейчас он обнаруживает изменения для полей обеих форм, однако я только хочу, чтобы он обнаружил изменения в полях в форме 1.

<form id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input type="text" name="textfield" id="textfield" />
<label for="select"></label>
<select name="select" id="select">
<option value="yes">yes</option>
<option value="no">no</option>
</select>
</form>

<form id="form2" name="form2" method="post" action="">
<label for="textfield2"></label>
<input type="text" name="textfield2" id="textfield2" />
<label for="select2"></label>
<select name="select2" id="select2">
<option value="yes">yes</option>
<option value="no">no</option>
</select>
</form>

<script>
$(':input').change(function() {
        alert('Handler for .change() called.');
        }); 
</script>

Ответы [ 3 ]

1 голос
/ 01 марта 2012

http://jsfiddle.net/escusado/nVxFh/

пузыри событий 'change', чтобы вы могли ловить их на уровне контейнера:

$('#form1').change(function(){
  $('#console').text('te');
  //change actions
});
1 голос
/ 01 марта 2012

, чтобы обнаружить только события изменения из формы 1:

$('#form1 :input').change(function() {
   alert('Handler for .change() called.');
}); 

, чтобы сделать то же самое для формы 2, вам нужно изменить его на

$('#form2 :input').change(function() {...
0 голосов
/ 01 марта 2012

Вы можете добавить класс, специфичный для вашей формы 1, и сослаться на него

<form class="form1sel" id="form1" name="form1" method="post" action="">
<label for="textfield"></label>
<input class="form1sel" type="text" name="textfield" id="textfield" />
<label for="select"></label>
<select class="form1sel" name="select" id="select">
<option value="yes">yes</option>
<option value="no">no</option>
</select>
</form>

<script>
$('.form1sel').change(function() {
    alert('Handler for .change() called.');
}); 
</script>

или просто использовать более конкретный селектор

<script>
$('#form1 :input').change(function() {
    alert('Handler for .change() called.');
}); 
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...