¿Cómo usar jQuery para obtener los valores de las casillas marcadas y ponerlo en un área de texto de inmediato?
Al igual que 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>
Si Ajaxid="c_d"
actualiza el , el siguiente código de altCognito no funciona. ¿Hay alguna buena solución?
Respuestas:
Aquí hay uno que funciona ( ver el ejemplo ):
Actualizar
Algunos meses más tarde se hizo otra pregunta con respecto a cómo mantener el funcionamiento anterior si cambia la identificación. Bueno, la solución se reduce a mapear la función updateTextArea en algo genérico que usa clases CSS, y usar la función en vivo para monitorear el DOM en busca de esos cambios.
fuente
$(document).on("click", "#c_b input", updateTextArea);
en lugar para solucionar problemas ajax'y.$('#c_b:checked')
(énfasis en el espacio)?También puede devolver todos los valores de casillas de verificación seleccionados en una cadena separada por comas. Esto también lo hará más fácil cuando lo envíe como parámetro a SQL
Aquí hay una muestra que devuelve todos los valores seleccionados de las casillas de verificación que tienen el nombre "chkboxName" en una cadena separada por comas
Y aquí está el javascript
Aquí está la muestra HTML
fuente
Su pregunta es bastante vaga, pero creo que esto es lo que necesita:
Editar: Oh, está bien ... ahí lo tienes ... No tenías el HTML activado antes. De todos modos, sí, pensé que querías poner el valor en un área de texto cuando se hace clic. Si desea que los valores de las casillas marcadas se coloquen en el área de texto (tal vez con una buena separación de comas) en la carga de la página, sería tan simple como:
Editar 2 Como lo ha hecho la gente, también puede hacer esto para atajar el extenso selector que escribí:
... Me olvidé por completo de ese atajo. ;)
fuente
Esto funciona perfectamente para mi:
Gracias Mohamed ElSheikh
fuente
Gracias altCognito, su solución ayudó. También podemos hacer esto usando el nombre de las casillas de verificación:
fuente
Lo siguiente puede ser útil ya que llegué aquí buscando una solución ligeramente diferente. Mi script necesitaba recorrer automáticamente los elementos de entrada y tenía que devolver sus valores (para la función jQuery.post ()), el problema era que las casillas de verificación devolvían sus valores independientemente del estado marcado. Esta fue mi solución:
Uso:
Si el campo de entrada dado es una casilla de verificación, la función input_val solo devuelve un valor si está marcada. Para todos los demás elementos, el valor se devuelve independientemente del estado verificado.
fuente
Aquí hay una alternativa en caso de que necesite guardar el valor en una variable:
(map () devuelve una matriz, que me parece más útil que el texto en textarea).
fuente
fuente
fuente
fuente
De todos modos, probablemente necesites algo como esto:
Esto obtendrá el valor de la primera casilla de verificación marcada en la página y la insertará en el área de texto con
id='textarea'
.Tenga en cuenta que en su código de ejemplo debe colocar las casillas de verificación en un formulario.
fuente
is
devuelve un valor booleano, un valor booleano no tieneval
método.Una forma mucho más fácil y abreviada que estoy usando para lograr lo mismo, usando la respuesta de otra publicación, es así:
Originalmente, las ciudades se recuperan de una base de datos MySQL y se enlazan en PHP mientras se repite:
Ahora, usando el código jQuery anterior, obtengo todos los valores city_id y los envío a la base de datos usando $ .get (...)
Esto me ha facilitado la vida desde que el código es completamente dinámico. Para agregar más ciudades, todo lo que necesito hacer es agregar más ciudades en mi base de datos, y no tener que preocuparme por PHP o jQuery end.
fuente
He tenido un problema similar y así es como lo resolví usando los ejemplos anteriores:
fuente
Prueba este ...
fuente
Si desea insertar el valor de cualquier casilla de verificación inmediatamente mientras se marca, esto debería funcionar para usted:
fuente