2017-02-25 12 views
0

答えの入力フィールドに追加されるスクリーン番号キーを持つ子供用の簡単な数学クイズアプリケーションを作成しようとしています。私はクラスにリンクされたjQueryイベントリスナーを使用したいので、各番号に対してonClick関数を呼び出す必要はありません。私はこの質問を他のところで見つけましたが、スタックオーバーフローに加わりましたので、私が抱いている問題をさらに尋ねることはできません。私の評判は十分に高いとは言えません。他の質問へJQueryスクリプトの入力フィールドに値を追加します。

リンク:append value to an input field in JQuery

私は私が私のボタンをクリックしようとし、自分のコードに誤りがある場合、私は見ることができないとき、私は未定義を取得追加しようとします。どんな支援も大歓迎です。

私のjQuery:私のボタンの

$(".userIn").click(function() { 
    var usrIn = $(this).data('usrIn'); 
    $("#answer").val(function() { 
    return this.value + usrIn; 
    }); 
}); 

サンプル:ここ

<button type="button" class="btn btn-primary btn-block userIn" data-number="0" id="zero">0</button> 

はすべての私のリンクされたスタイルシートや外部のjsとJSfiddleです。

答えて

3

変更var usrIn = $(this).data('usrIn');var usrIn = $(this).attr('data-number');

フィドル:https://jsfiddle.net/969r1gp0/4/

+0

ありがとうございました。一度私の機能をjsのdocument.readyセクションに移動すると、ブラウザでも作業が始まりました。 – KReth

1

あなたのデータ属性はないdata-userindata-numberと呼ばれているので、あなたが書く必要があります。

var usrIn = $(this).data('number') 

をしかし、ボタンのテキストとして実際にあります何を追加したいのですか?データ属性を一切使わずに、できること:

var usrIn = $(this).text(); 
+0

ありがとうございます!私はこれを試してみましたが、それはまだブラウザで動作していないことに気付くまで、私のコードでは動作していませんでしたが、それはフィドルで働いていました。私が$(document).readyセクションに移動すると、それは動作し始めました。私は答えとしてマークした他のソリューションを使用していますが、両方のソリューションをテストしてくれてありがとうと思います。 – KReth

+0

注意:jsfiddleはこれを自動的に実行します(スクリプトをロード関数に入れます)。それはあなたが変更できる設定ですが、デフォルトではそうです。 – trincot

関連する問題