2012-09-12 10 views
5

En mi sitio web, tengo dos campos de entrada: Título & Código de stock. Tengo dos objetivos:Elimine caracteres no alfa con Jquery al copiar texto de una entrada a otra

  1. El texto del campo título debe ser copiará en el campo de código de valores como el usuario introduce texto en el campo título.

  2. También quiero quitar caracteres no alfanuméricos durante la copia.

He encontrado this tutorial que explica cómo hacer el primer objetivo. Aquí está mi ejemplo de trabajo:

http://jsfiddle.net/2gezC/1/

Para la segunda parte, he encontrado que es difícil encontrar un tutorial sobre despojar caracteres en Jquery, como la mayoría de los tutoriales son para JavaScript.

he encontrado this tutorial y han tratado de integrarlo en mi código de la siguiente manera:

(function ($) { 
    $(document).ready(function() { 

     $('input#edit-title-fragment').keyup(function() { 
      var str = $(this).val(); 
      str = str.replace(/[^a-zA-Z 0-9]+/g, ''); 
      var txtClone = $(this).val(); 
      $('input#edit-sku-fragment').val(txtClone); 
     }); 
    }); 

})(jQuery); 

Sin embargo, esto no funciona. ¿Podría alguien decirme qué estoy haciendo mal? ¡Gracias!

+1

jQuery * es * javascript. – Loktar

Respuesta

15

Esto es lo que está haciendo:

// Get the user input from "this" and put it in str variable 
var str = $(this).val(); 
// Remove all non alpha-nums from str and store it back in the str variable 
str = str.replace(/[^a-zA-Z 0-9]+/g, ''); 
// Get the user input from "this" (yes, again) and put it in the txtClone variable 
var txtClone = $(this).val(); 
// Set your other textbox to be the value in txtClone 
$('input#edit-sku-fragment').val(txtClone); 

¿Ha visto el error? Debería establecerlo en str en su lugar.

$('input#edit-sku-fragment').val(str); 

que ahora funciona: http://jsfiddle.net/2gezC/2/

Furthmore, como ha señalado los comentarios, jQuery es una biblioteca construida en JavaScript; está escrito en JavaScript, como puede ver al navegar su código fuente; https://github.com/jquery/jquery

+0

¡Gracias! Eso es perfecto. ¿Puedes combinar código Javascript con Jquery? –

+0

@big_smile: por supuesto; ya lo estás haciendo 'var' no es una" cosa "jQuery; es una forma de JavaScript para crear una variable. 'replace()' es un método JavaScript ** String **; nada relacionado con jQuery en absoluto. – Matt

Cuestiones relacionadas