2012-11-17 73 views
1

我正在使用它在單擊複選框時從單個窗體提交值。該表格被稱爲我的表格。jquery複選框sumbit - 多個表單?

$('#my-form input[type=checkbox]').click(function() { 
    $.post(
     'form.php', 
     $('#my-form').serialize(), 
     function(response) { 
      $('#my-form #form-response').html(response); 
     } 
    ); 
}); 

這對一種形式工作正常。但我想有其他的形式,也許10在同一頁上,並重新使用此代碼。

我知道每個表格都必須有唯一的ID,但我該如何提交表格而不是其他表格?

謝謝:)

回答

0

給您的所有形式的同一類和不喜歡這樣

$('.my-form input[type=checkbox]').click(function() { 
    var CurrectForm=$(this).parents('.my-form:first'); 
    $.post(
     'form.php', 
     CurrectForm.serialize(), 
     function(response) { 
      CurrectForm.find('#form-response').html(response); 
     } 
    ); 
}); 

my-form是所有形式的類名。

+0

你並不需要包裝'CurrentForm'在每次jQuery選擇;你已經在第一行創建了jQuery對象。 –

+0

@ChristianVarga謝謝,我已經更新了我的回答 – rahul

+0

@rahul - 謝謝,完美的作品:) – MacMan

0

你可以改變的ID上課,所看到的複選框的父窗體,像這樣:

$('.my-form input[type=checkbox]').click(function() { 
    var $my_form = $(this).closest('.my-form');  

    $.post(
     'form.php', 
     $my_form.serialize(), 
     function(response) { 
      $('.form-response', $my_form).html(response); 
     } 
    ); 
}); 
+0

窗體響應是ID不是類 – rahul

+0

ID應該只定義一次。 '.form-response'在每個表單中,因此它必須是一個類,而不是一個ID。 –