Por favor, lea también mi respuesta a esta pregunta: realmente no hay razón para tener que llamar $('#input-field-id')dos veces ... Sin embargo, una respuesta muy simple - +1
gnarf
2
Siento que debería haber una función que se agregue al valor de una entrada como se puede hacer con innerHTML.
Blue Sheep
109
Hay dos opciones. El enfoque de Ayman es el más simple, pero le agregaría una nota extra. Realmente debería almacenar en caché las selecciones de jQuery, no hay razón para llamar $("#input-field-id")dos veces:
var input = $("#input-field-id");
input.val( input.val()+"more text");
La otra opción .val()también puede tomar una función como argumento. Esto tiene la ventaja de trabajar fácilmente en múltiples entradas:
$("input").val(function( index, val ){return val +"more text";});
No puedo agregar un marcador de posición a un cuadro de búsqueda y me gustaría usarlo y luego borrar el cuadro cuando el usuario coloca el cursor en el cuadro de búsqueda. ¿Es esto factible?
// Define appendVal by extending JQuery
$.fn.appendVal =function(TextToAppend){return $(this).val(
$(this).val()+TextToAppend);};//_____________________________________________// And that's how to use it:
$('#SomeID').appendVal('This text was just added')
Bueno, al crear este ejemplo, de alguna manera me confundí un poco. " ValueText " vs> Current NodeText <¿No se .val()supone que se ejecute en los datos del atributo de valor ? De todos modos, tú y yo podemos aclarar esto tarde o temprano.
Sin embargo, el punto por ahora es:
Cuando trabaje con datos de formulario, use .val () .
Cuando trabaje con los datos en su mayoría de solo lectura entre la etiqueta, use .text () o .append () para agregar texto.
¿Agrega esto algo nuevo para responder mejor a la pregunta? Entiendo que solo está haciendo una extensión, pero esto ha sido respondido durante bastante tiempo. Solo quiero asegurarme de que se mantenga la calidad de SO.
Kevin Brown
1
Gracias por preocuparte, eso me gusta. Pero sí, tienes razón, no hay muchas novedades, la esencia sigue siendo la misma. Sin embargo, cuando digerir las respuestas actuales, sentí que se podía hacer un poco sobre el estilo y la implementación. Primero verifiqué si se podía editar parte de la publicación, pero al final pensé que era mejor hacer una nueva. Entonces, qué hay de nuevo: * Puede ejecutar el archivo snipped. * La extensión ayuda mucho en la forma de escribir código autodocumentado, sin distraer demasiado la esencia.
Nadu
0
<!DOCTYPE html><html><head><title></title><scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script><styletype="text/css">*{font-family: arial;font-size:15px;}</style></head><body><buttonid="more">More</button><br/><br/><div>
User Name : <inputtype="text"class="users"/><br/><br/></div><buttonid="btn_data">Send Data</button><scripttype="text/javascript">
jQuery(document).ready(function($){
$('#more').on('click',function(x){var textMore ="User Name : <input type='text' class='users'/><br/><br/>";
$("div").append(textMore);});
$('#btn_data').on('click',function(x){var users=$(".users");
$(users).each(function(i, e){
console.log($(e).val());});})});</script></body></html>
Respuestas:
fuente
$('#input-field-id')
dos veces ... Sin embargo, una respuesta muy simple - +1innerHTML
.Hay dos opciones. El enfoque de Ayman es el más simple, pero le agregaría una nota extra. Realmente debería almacenar en caché las selecciones de jQuery, no hay razón para llamar
$("#input-field-id")
dos veces:La otra opción
.val()
también puede tomar una función como argumento. Esto tiene la ventaja de trabajar fácilmente en múltiples entradas:fuente
Si planea usar la función de agregar más de una vez, es posible que desee escribir una función:
Después puedes simplemente llamarlo:
fuente
Probablemente estés buscando val ()
fuente
Bueno, al crear este ejemplo, de alguna manera me confundí un poco. " ValueText " vs> Current NodeText <¿No se
.val()
supone que se ejecute en los datos del atributo de valor ? De todos modos, tú y yo podemos aclarar esto tarde o temprano.Sin embargo, el punto por ahora es:
Cuando trabaje con datos de formulario, use .val () .
Cuando trabaje con los datos en su mayoría de solo lectura entre la etiqueta, use .text () o .append () para agregar texto.
fuente
Salida
fuente