2011-01-24 30 views
5

jQuery kullanarak bir onay kutusunu işaretleyin veya işareti kaldırın ve bu onay kutusunun veri değerini kullanarak bir form göndermeye çalışıyorum, birisi bana bunun nasıl yapılacağı konusunda yardımcı olabilir mi?jQuery onay kutusunu gönder onay kutusuna basın

+0

göndermek i olduğunu düşünüyorum

.trigger kullanmayı deneyin gerektiğini düşünüyorum. Bence bu oldukça basit bir problem, ama ne olmasını istediğiniz hakkında daha fazla bilgi vermek isteyebilirsiniz. – Pointy

+0

Veri değeri olan onay kutularının bir listesi var, her onay kutusu işaretlendiğinde Formu kullanabilmek için bu onay kutusunun değeri ile birlikte formu göndermek istiyorum. – Neutralise

+0

Bu neden ajax olarak etiketlendi? – Phil

cevap

2

Sadece kontrol edilmemiş kutunun değerini göndermenin gerekliliği burada olağandışı bir bittir. Bir seçenek, bu değeri gönderilecek gizli bir alana yerleştirmektir. Yani: Sonra

<input name="checkbox_trigger" id="checkbox_trigger" value="" type="hidden" /> 

: onay kutusunun adı da anlamlı ise

$('#yourcheckbox').click(function(e){ 
    $('#checkbox_trigger').val(e.value); // capture on check or uncheck 
    $(this).closest('form').submit(); 
}); 

, kolayca yanı alan adını yakalamak için bu modeli takip edebilirsiniz.

+0

'.change' daha iyi olabilir Kullanıcının faresi tarafından her zaman tetiklenmeyeceği sürece, .click'den daha uygun. –

+0

Onay kutularının adı "checked_items []", ancak dizi bir sözdizimi hatasına neden oluyor. Bu konuda nasıl çalışabilirim? – Neutralise

+0

Brad, Buna bir katılıyorum katılıyorum. 'Click' kullanmamın nedeni, IE'nin checkbox olayları ile olan davranışının buggy olmasıdır. Spesifik olarak: "change" olayı, kontrol edilen durum değiştiğinde * ve * onay kutusu bulanık olduğunda kaydedilir - bu, odak başka bir yere taşınana kadar değişiklik kaydetmez. 'Propertychange' olayını kullanarak bir geçici çözüm var, ancak nispeten basit bir soruyu cevaplamak için tavşan deliğinden çok aşağı gitmek istemedim. –

1

i HTML birileri yardım edebilir sonrası eğer bir tetik

$('#yourElement').live('click', function(){ 
    $('#yourForm').trigger('submit'); 
}) 
İlgili konular