2

以下のような文字列を使用して、ページにスライダーを動的に追加しています。

"<input type=\"range\" name=\"aName\" min=\"1\" max=\"9\"/>";

次に、プレーンな JavaScript を使用してページに追加した後、次のコードを使用して委任できます。

$('input[name=aName]').on('change', function () { alert(this.value)});

実際、値が変更されると、正しい値でアラートを受け取ります。ただし、次のように委任すると:

$('input[name=aName]').on('change', handleChange);

後で次のように関数を定義します。

function handleChange () {
    var theValue = $('input[name=aName]').value;
    alert("value: " + theValue);
}

「値: 未定義」というメッセージが表示されたアラートが表示されます。なぜこのようなことが起こっているのですか?

4

1 に答える 1

4

これは間違ってい$('input[name=aName]').valueます。javascriptとjqueryが混在していると思います。

値を取得するには、次のように使用します。

$('input[name=aName]').val()
于 2013-10-31T20:55:45.910 に答える