Como usar o jQuery para obter os valores marcados das caixas de seleção e colocá-lo em uma área de texto imediatamente?
Assim como este código:
<html>
<head>
</head>
<body>
<div id="c_b">
<input type="checkbox" value="one_name" checked>
<input type="checkbox" value="one_name1">
<input type="checkbox" value="one_name2">
</div>
<textarea id="t"></textarea>
</body>
</html>
Se o Ajaxid="c_d"
for atualizado , o código abaixo do altCognito não funcionará. Existe alguma boa solução?
Respostas:
Aqui está um que funciona ( veja o exemplo ):
Atualizar
Alguns meses depois, outra pergunta foi feita sobre como manter o funcionamento acima, se o ID mudar. Bem, a solução se resume a mapear a função updateTextArea em algo genérico que usa classes CSS e usar a função ao vivo para monitorar o DOM para essas alterações.
fonte
$(document).on("click", "#c_b input", updateTextArea);
ao invés para contornar problemas de ajax'y.$('#c_b:checked')
(ênfase no espaçamento)?Você também pode retornar o valor de todas as caixas de seleção selecionadas em uma sequência separada por vírgula. Isso também facilitará quando você o enviar como parâmetro para o SQL
Aqui está um exemplo que retorna todos os valores das caixas de seleção selecionadas que têm o nome "chkboxName" na cadeia de caracteres separada por vírgula
E aqui está o javascript
Aqui está o exemplo HTML
fonte
Sua pergunta é bastante vaga, mas acho que é disso que você precisa:
Edit: Oh, ok .. lá vai você ... Você não tinha o HTML antes. Enfim, sim, eu pensei que você pretendia colocar o valor em uma área de texto quando ela é clicada. Se você deseja que os valores das caixas de seleção marcadas sejam colocados na área de texto (talvez com uma boa separação de vírgulas) no carregamento da página, seria tão simples quanto:
Editar 2 Como as pessoas fizeram, você também pode fazer isso para atalho o longo seletor que escrevi:
... Eu esqueci totalmente esse atalho. ;)
fonte
Isso funciona perfeitamente para mim:
Obrigado Mohamed ElSheikh
fonte
Obrigado altCognito, sua solução ajudou. Também podemos fazer isso usando o nome das caixas de seleção:
fonte
O seguinte pode ser útil, pois cheguei aqui procurando uma solução um pouco diferente. Meu script precisava percorrer automaticamente os elementos de entrada e precisava retornar seus valores (para a função jQuery.post ()), o problema estava nas caixas de seleção retornando seus valores, independentemente do status verificado. Esta foi a minha solução:
Uso:
Se o campo de entrada fornecido for uma caixa de seleção, a função input_val retornará um valor apenas se estiver marcado. Para todos os outros elementos, o valor é retornado independentemente do status verificado.
fonte
Aqui está uma alternativa, caso você precise salvar o valor em uma variável:
(map () retorna uma matriz, que considero mais útil que o texto na área de texto).
fonte
fonte
fonte
fonte
De qualquer forma, você provavelmente precisará de algo assim:
Isso obterá o valor da primeira caixa de seleção marcada na página e a inserirá na área de texto com
id='textarea'
.Observe que, no seu código de exemplo, você deve colocar as caixas de seleção em um formulário.
fonte
is
retorna um valor booleano, um valor booleano não possuival
método.Uma maneira muito mais fácil e curta que eu estou usando para realizar o mesmo, usando a resposta de outro post, é assim:
Originalmente, as cidades são recuperadas de um banco de dados MySQL e em loop no PHP while loop:
Agora, usando o código jQuery acima, obtenho todos os valores city_id e os envio de volta ao banco de dados usando $ .get (...)
Isso facilitou minha vida, já que agora o código é totalmente dinâmico. Para adicionar mais cidades, tudo o que preciso fazer é adicionar mais cidades ao meu banco de dados e não se preocupe com o PHP ou o jQuery.
fonte
Eu tive um problema semelhante e foi assim que resolvi usando os exemplos acima:
fonte
Tente este..
fonte
Se você deseja inserir o valor de qualquer caixa de seleção imediatamente enquanto está sendo marcada, isso deve funcionar para você:
fonte