2016-09-10 4 views
0

私はダイヤルパッドをちょうどいいところにしようとしていますが、これまでに遭遇した唯一の問題は、キーをクリックすると対応する数字が入力その後、別のものを置くことはありません。私は他の人が同じ問題を抱えているので、他の多くの投稿を見てきましたが、それらの解決策のどれもが私の問題に関係していないようです。前もって感謝します!
問題を解決するまで他の実装を待っているので、今すぐ機能しているのは「1」ボタンだけです。JQueryのクリックイベントは初めてしか動作しません


var inp = $('#dialer'); 
var nmbr = inp.val(); 
var key1 = $('#111'); 

key1.on('click', function(){ 
    inp.val(nmbr + 1) 
}); 

JSfiddle:その変数がしか要素の初期値を含んでいますので、あなたが、一度だけvar nmbr = inp.val();を設定しているので、https://jsfiddle.net/a4suk0rs/

+2

いくつかの基本的なデバッグ手法を学ぶと役に立ちます。この場合、clickイベントの中に単純な 'alert(nmbr);を追加してください。クリックイベントが発生しているかどうかを確認します。それは発射しないことと、あなたが期待していることをやり遂げないことの1つの問題です。コンソールの使い方を知っているならば、 'console.log(nmbr)'を使うこともできます(F11 ...を押してください)。 –

+1

はい、非常に遅いですが、ボタンをクリックすると再びnmbrの数値を取得する必要があります。 –

答えて

5

これがあります。コードを次のように変更してください。

var inp = $('#dialer'); 
var nmbr = inp.val(); 
var key1 = $('#111'); 

key1.on('click', function(){ 
    nmbr = inp.val(); // reset the `nmbr` var to the current value of `$('#dialer')` 
    inp.val(nmbr + 1) 
}); 
+0

すごい素晴らしい考え方です。 – Joshua

関連する問題