Eu gostaria de obter o mesmo efeito que, jQuery.serialize()
mas gostaria de devolver apenas os elementos filhos de um dado div
.
Resultado da amostra:
single=Single2&multiple=Multiple&radio=radio1
jquery
serialization
BrokeMyLegBiking
fonte
fonte
$("#divId").find("select, textarea, input").serialize();
melhor desempenho? Eu imagino que o acima poderia ficar lento se o div tivesse muitos elementos, como uma tabela com várias linhas / colunas.Você pode melhorar a velocidade do seu código se restringir os itens que o jQuery examinará.
Use o seletor : input em vez de * para alcançá-lo.
Isso tornará seu código mais rápido porque a lista de itens é menor.
fonte
serialize
todos os elementos do formulário dentro de umdiv
.Você pode fazer isso direcionando o div
#target-div-id
dentro de vocêform
usando:fonte
A função que uso atualmente:
fonte
Experimente também este:
fonte
E a minha solução:
Exibir trecho de código
fonte
Se esses elementos tiverem um nome de classe comum, também será possível usar:
Desta forma, você pode evitar a seleção de botões, que serão selecionados usando o seletor jQuery
:input
. Embora isso também possa ser evitado usando$('#your_div :input:not(:button)').serialize();
fonte
fonte
ID
em cada seletor, como$('#divId > input, #divId > select, #divId > textarea')
:; Além disso, o>
símbolo se refere a elementos filhos diretos ... Muito incomum neste cenário ou, pelo menos, muito restritivo.