2011-02-08 38 views
8

Tengo una select en mi página con el value de Test OnejQuery sustituir los espacios de palabra

<option value="Test One">Test One</option>

Me preguntaba si había una manera de reemplazar los espacios en palabras usando jQuery

estoy consciente de la técnica jQuery ajuste, pero esto sólo se deshace de espacios al principio y al final y estoy buscando algo para eliminar los espacios para que se convierta TestOne

Alguna idea?

+1

no es un '' input' es select' y conocido como "Lista desplegable". –

+0

@Shadow lo siento mi mala que estaba originalmente usando una entrada pero luego cambia a un selecto - Gracias :) –

Respuesta

33

Un simple string.replace hará el truco:

var str = "Test One"; 
str = str.replace(/ /g, ''); 

Ahora, con respecto a su pregunta, aquí es donde se pone un poco confuso. Si desea reemplazar el atributo valor, entonces:

$('option').val(function (i, value) { 
    return value.replace(/ /g, ''); 
}); 

si desea reemplazar el texto entre las etiquetas, entonces:

$('option').text(function (i, text) { 
    return text.replace(/ /g, ''); 
}); 
+1

En realidad no. Reemplazará solo el primer espacio. 'Test One Two' se convertirá en' TestOne Two'. –

+0

@ Shadow, es suficiente. Acabo de ir directamente del ejemplo en la pregunta. Cambió ahora. –

+0

aplausos, buen trabajo. :) –

10

Para eliminar todos los espacios:

var str = $(selector).val(); 
str = str.replace(/\s+/g, ''); 

En JavaScript replace solo captura primero espacio, por lo que para reemplazar más necesita una pequeña expresión regular. Si solo espera un espacio único o ninguno, replace(' ', '') debería funcionar bien.

+0

¿Por qué eliminaste la respuesta y luego la escribiste de nuevo? Se hace el recuento de respuesta sea mal hasta trabajo cron ejecuta esta noche ..;) –

+0

Asistente @Shadow - Tengo confundido acerca de 'replace', pero luego vuelto a inspeccionar y confirmó que necesita una expresión regular para reemplazar más de un solo carácter. – Kobi

+0

Oh el miedo a la respuesta incorrecta ... ¡Puedo entender eso! :) –

Cuestiones relacionadas