2012-09-12 11 views
5

私のウェブサイトには、タイトルが&の2つのフィールドがあります。1つの入力から別の入力にテキストをコピーするときに、Jqueryを使用して非アルファ版の文字を取り除く

  1. ユーザーがタイトルフィールドにテキストを入力するとタイトルフィールドからテキストが株式 コードフィールドにコピーされるべきである:私は2つの目標を持っています。

  2. また、コピー以外の英数字のシャッターを削除したい場合は、コピーを コピーしてください。

私はthis tutorialの最初の目標の実行方法を説明しています。 はここに私の作業例です:ほとんどのチュートリアルではJavaScriptのためのものであるように、第2の部分については

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

、私は、それは難しいjqueryの中の文字をストリッピングについてのチュートリアルを見つけることがわかってきました。

私はthis tutorialを発見したと、次のように私のコードに統合することを試みた:

(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); 

しかし、それは動作しません。誰かが私が間違っていることを教えてもらえますか?ありがとう!ここで

+1

jQuery * is * javascript。 – Loktar

答えて

15

は何をやっているのです:

// 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); 

は、あなたが間違いを発見しましたか?代わりにstrに設定する必要があります。今作品

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

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

Furthmoreコメントが指摘したように、jQueryのライブラリが JavaScriptをを構築されています。ソースコードを参照することでわかるように、JavaScript自体で書かれています。 https://github.com/jquery/jquery

+0

ありがとう!それは最高です。 JavascriptコードとJqueryを組み合わせることはできますか? –

+0

@big_smile:もちろんです。あなたはすでにそれをやっています。 'var'はjQueryのものではありません。これは変数を作成するJavaScriptの方法です。 'replace()'はJavaScript ** String **メソッドです。 jQueryにはまったく関係がありません。 – Matt

関連する問題