1

私は SO と Google に関する多くの投稿に目を通しましたが、.val() についてのステップまたは理解の一部が欠けていると思います。現状では、以下のコードは Undefined を返します。実際のボタン値を取得するためのヒントは大歓迎です。

簡単に言えば、HTML ボタンがあり、クリック時にそのボタンの値を取得して表示したいと考えています。

HTML

<button type="button" name="criterianButton" id="english" class="searchButton" value="English">English</button>

JQuery

var buttonValues = $('#english').val();

$(document).ready(function(){
    $('button').click(function(){
            $('#resultsView').append('<div class="searchResults">'+buttonValues+'</div>');
    });
});
4

2 に答える 2

3

これが機能しない理由は、jQueryセレクターが原因です。

var buttonValues = $('#english').val();

ドキュメントの準備ができる前に実行されています。したがって、他の回答のいくつかが言っているように、それを$(document).ready()呼び出しに入れる必要があり、それで機能します。基本的に、ブラウザが値を認識する前に値を見つけようとしています。正しく機能するサンプルコードを次に示します。

$(document).ready(function(){
    var buttonValues = $('#english').val();
    $('button').click(function(){
        alert("the value of buttonValues = " + buttonValues);
    });
});​

そしてここにjsfiddleがあります

他にご不明な点がございましたら、お気軽にコメントしてお問い合わせください。

于 2013-01-03T23:01:07.823 に答える
3

入れるだけvar buttonValues = $('#english').val();$(document).ready()

ジャバスクリプト:

$(document).ready(function(){
    var buttonValues = $('#english').val();
    $('button').click(function(){
            $('#resultsView').append('<div class="searchResults">'+buttonValues+'</div>');
    });
});​

デモ:

http://jsfiddle.net/qmMhJ/

于 2013-01-03T22:57:18.407 に答える