2017-02-25 83 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> 

這裏是JSfiddle所有我的鏈接樣式表和外部JS。

回答

3

變化var usrIn = $(this).data('usrIn');var usrIn = $(this).attr('data-number');

小提琴:https://jsfiddle.net/969r1gp0/4/

+0

非常感謝。一旦我將我的函數移動到我的js的document.ready部分,它也開始在瀏覽器中工作。 – KReth

1

你的數據屬性稱爲data-number,不data-userin,所以你應該寫:

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

但是,隨着按鈕的文字真的是你想添加什麼,你可以不用數據屬性,只需要做:

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

謝謝!我嘗試了這一點,它仍然沒有在我的代碼工作,直到我意識到它不是在瀏覽器工作,但它是在小提琴工作。一旦我將它移入我的$(document).ready部分,它就開始工作。我將使用我標記爲已回答的其他解決方案,但是想要感謝您,因爲我測試了您的兩個解決方案,並且他們也爲我工作。 – KReth

+0

注意:jsfiddle會自動執行此操作(將腳本放入加載函數中)。這是一個可以更改的設置,但默認情況下就是這樣。 – trincot