2014-11-20 136 views
-1

我正在嘗試做一個簡單的向下計數器。出於某種原因,我無法通過javascript來定位正確的元素。我目前正在嘗試使用jQuery。使用jQuery獲取/更改html輸入字段的值

,這裏是我的html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
"http://www.w3.org/TR/html4/loose.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>New Web Project</title> 



     <script src="js/jquery-1.11.1.min.js"></script> 
     <script src="js/go.js"></script> 



    </head> 
    <body> 
     <table> 
      <tr ><td ><button id="up" onclick="modCount(1)">2,3,4,5,6</button></td></tr> 
      <tr><td><h1><input id="count" value="0" /></h1></td></tr> 
      <tr ><td ><button id="down" onclick="modCount(-1)">10,J,Q,K,A</button></td></tr> 
     </table> 
    </body> 
</html> 

和我go.js:

function modCount(val){ 

var CC = $("count").value; 

alert($("count").value); 

var NewCount = parseInt(CurrentCount,10) + val; 


$("count").value = NewCount; 

return NewCount; 
}; 

我到底做錯了什麼?警報一直說$(「count」)的值是未定義的。

回答

0

您有很多錯誤。

var CC = $("count").value; 

當ID jQuery中,前綴#靶向和方法來獲取字段的值是val()。更改爲

var CC = $("#count").val(); 

var NewCount = parseInt(CurrentCount,10) + val; 

你叫可變CCCurrentCount。更改爲

var NewCount = parseInt(CC,10) + val; 

(尼斯工作提供基數parseInt - !滿分那裏)


$("count").value = NewCount; 

再次,提供哈希,並設置一個值的方法也.val()。更改爲

$("#count").val(NewCount); 

return NewCount; 

無需返回值,你永遠使用它 - 只要刪除此行。

工作樣本:

function modCount(val){ 
 

 
var CC = $("#count").val(); 
 

 
var NewCount = parseInt(CC,10) + val; 
 

 
$("#count").val(NewCount); 
 

 
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr ><td ><button id="up" onclick="modCount(1)">2,3,4,5,6</button></td></tr> 
 
    <tr><td><h1><input id="count" value="0" /></h1></td></tr> 
 
    <tr ><td ><button id="down" onclick="modCount(-1)">10,J,Q,K,A</button></td></tr> 
 
</table>

0

變化

$("count") 

$("#count") 

...即。你的意思是以ID爲目標,這意味着在選擇器前加上#

有了jQuery,當出現問題時總是讓你的選擇器成爲你的第一個嫌疑犯。您可以檢查他們是否通過運行

alert($('your-selector-here').length); 

如果它給0,選擇的錯誤,或者代碼運行之前的元素在DOM匹配任何東西。

+1

^是的 - 發佈這一權利,當我登錄到說的一樣! – remixdesign 2014-11-20 16:38:33

+0

有人低估了我。不知道爲什麼! – Utkanos 2014-11-20 16:38:51

+0

不是我的DV,把我猜猜看,因爲你只是抓住了什麼是錯的表面! – Jamiec 2014-11-20 16:44:44