9

私のウェブサイトには、タイトルと証券コードの2つの入力フィールドがあります。私には2つの目標があります。

  1. ユーザーがタイトルフィールドにテキストを入力すると、タイトルフィールドのテキストがストックコードフィールドにコピーされます。

  2. また、コピー中に英数字以外の文字を削除したいと思います。

最初の目標を達成する方法を説明するこのチュートリアルを見つけました。これが私の実例です:

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

2番目の部分では、ほとんどのチュートリアルがJavaScript用であるため、Jqueryで文字を削除するチュートリアルを見つけるのが難しいことがわかりました。

私はこのチュートリアルを見つけて、次のようにコードに統合しようとしました。

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

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

4

1 に答える 1

21

これがあなたがしていることです:

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

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

于 2012-09-12T17:38:21.770 に答える