2011-01-24 18 views
5

Próbuję przesłać formularz na sprawdzanie lub odznaczanie pole wyboru przy użyciu jQuery i przy użyciu wartości danych tego pola wyboru, czy ktoś może mi pomóc, jak to zrobić?jQuery przesłać formularz na pole wyboru naciśnij

+0

jeśli opublikować HTML ktoś może być w stanie pomóc. Myślę, że to dość prosty problem, ale możesz chcieć opisać, co chcesz zrobić. – Pointy

+0

Mam tylko listę pól wyboru z wartością danych, za każdym razem zaznaczone pole wyboru Chcę przesłać formularz wraz z wartością związaną z tym polem wyboru, aby móc korzystać z danych. – Neutralise

+0

Dlaczego to jest oznaczone jako ajax? – Phil

Odpowiedz

2

Wymóg przedłożenia wartości nierozpoznanego pudełka jest tutaj nietypowy. Jedną z opcji jest wepchnięcie tej wartości do ukrytego pola, które zostanie przesłane. Więc:

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

Następnie:

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

Jeśli nazwa wyboru jest również istotna, można łatwo śledzić ten wzór do przechwytywania nazwę pola, jak również.

+0

'.change' może być lepszym pasuje do '.click', chyba że zawsze będzie uruchamiany przez mysz użytkownika. –

+0

Moja nazwa pola wyboru to "checked_items []", ale tablica powoduje błąd składni. Jak mogę obejść ten problem? – Neutralise

+0

Brad, zgadzam się, że to jest kwestia. Powodem, dla którego używam "kliknięcia", jest to, że zachowanie IE przy zdarzeniach checkbox jest błędne. Konkretnie: zdarzenie "change" jest rejestrowane, gdy stan zaznaczenia ulega zmianie * i * pole wyboru jest zamazane - co oznacza, że ​​zmiana nie zostanie zarejestrowana, dopóki fokus nie zostanie przeniesiony w inne miejsce. Istnieje obejście, w którym zastosowano wydarzenie 'propertychange', ale nie chciałem zbytnio zajrzeć do króliczej nory, aby odpowiedzieć na stosunkowo proste pytanie. –

1

myślę, że należy spróbować użyć .trigger

myślę, że jest wyzwalacz złożyć

$('#yourElement').live('click', function(){ 
    $('#yourForm').trigger('submit'); 
}) 
Powiązane problemy