Esta é uma duplicata desta questão:
... mas o tempo seguiu em frente. Eu acho que a resposta aceita não é mais válida.
Quero enviar o formulário da caixa de seleção, se a caixa de seleção foi alterada.
$(document).on("change", "#my_checkbox_input", function() {
$(this).???
});
O que deveria ???
parece com a versão jquery> = 1,8?
Respostas:
1 para resposta № 1Você poderia usar o this
palavra-chave que se refere no contexto do evento para o objeto do elemento atual alterado, então é só usar this.form
para obter o formulário pai em que o elemento atual é empacotado, ligue para o submit()
método se você quiser enviá-lo como:
$(document).on("change", "#my_checkbox_input", function() {
this.form.submit();
});
Ou também convertendo o formulário para o objeto jQuery primeiro:
$(document).on("change", "#my_checkbox_input", function() {
$(this.form).submit();
});
E você sempre pode usar os métodos jQuery .parents()
ou .closest()
para obter o elemento pai, neste caso use o objeto jQuery $(this)
que se referem ao elemento atual, em seguida, especifique o nome do nó pai (form
), gostar :
$(document).on("change", "#my_checkbox_input", function() {
$(this).parents("form").submit();
});
NOTA : .closest()
é mais eficiente do que .parents()
em termos de velocidade.
Espero que isto ajude.
3 para resposta № 2
Você pode usar closest()
para encontrar o pai form
elemento, em seguida, chamar submit()
nele:
$(document).on("change", "#my_checkbox_input", function() {
$(this).closest("form").submit();
});
Observe também que closest()
está disponível desde o jQuery 1.3, então a versão faz pouca diferença neste caso.
0 para resposta № 3
Experimentar:
$(this).parent()
Ou:
$(this).parent().find("#parent_id")
0 para a resposta № 4
O código a seguir funcionará nessa situação, mas observe que outras pessoas responderam com a mesma sintaxe acima.
$(document).on("change", "#my_checkbox_input", function() {
var form = $(this).closest("form");
// do whatever you want with the form as `form`
});
o .closest()
método procura por elementos e suasancestrais na árvore DOM e retorna o mais próximo que corresponda à consulta passada. Nesse caso, estávamos procurando um formulário, então ele retornará o formulário que você está procurando.