使用jQuery获取/更改html输入字段的值

时间:2014-11-20 16:33:47

标签: jquery

我试图做一个简单的向上计数器。出于某种原因,我无法使用javascript来定位正确的元素。我目前正在尝试使用jQuery。

这是我的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;
};

我做错了什么?警报一直说$(&#34; count&#34;)的值未定义。

2 个答案:

答案 0 :(得分:0)

更改

$("count")

$("#count")

...即。你的意思是按ID定位,这意味着为选择器添加#

前缀

使用jQuery,当出现问题时,总是让你的选择器成为你的第一个嫌疑人。您可以通过运行

来检查它们是否匹配任何内容
alert($('your-selector-here').length);

如果它给出0,则选择器错误,或者代码在元素位于DOM之前运行。

答案 1 :(得分:0)

你有很多错误。

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

在jquery中按id进行定位时,前缀为#,获取字段值的方法为val()。改为

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

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

您调用变量CC而非CurrentCount。改为

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>