1

仕事に必要なjQueryビットを取得できないようです。これまで jQuery を使用したことはありませんが、クリックすると、最初は 0 の値が 1 ずつ増加するボタンをページに配置したいと考えています。私の質問はjQueryに似ています-ボタンがクリックされてボタンが押され、テキストボックスの値が増加すると、カウンターの値が増加しますが、私が間違っていることを理解できません。ここに私が持っているものがあります:

<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$("#update").click(function()
{
    $("#counter")++;
}
</script>
</head>
<body>

<input type="text" name="TextBox" id="TextBox" value="0" />
<input type="Button" id='AddButton' value="+" />
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
<script type="text/javascript">
$('#AddButton').on('click', function ()
{
    var input = $('#TextBox');
    input.val(parseInt(input.val()) + 1);
})
</script>

</body>
</html>

どんな助けでも大歓迎です。大きな明らかな間違いがある場合はご容赦ください。これを行う方法はまだわかりません。ありがとう、そして嬉しい知らせ!=)

4

4 に答える 4

6

あなたが jQuery の初心者であることは明らかなので、よく読んでおくと役立つかもしれません。 Head First jQueryをお勧めします。

質問については、コードを書き直しました。次のようになります。

<!DOCTYPE html>
<html>
    <head>
        <title> My first increment </title>
    </head>
    <body>

        <input type="text" name="TextBox" id="TextBox" value="0" />
        <input type="Button" id='AddButton' value="+" />

        <script src="http://code.jquery.com/jquery-1.4.3.min.js"></script>
        <script>
            $(document).ready(function(){
                $('#AddButton').click( function() {
                    var counter = $('#TextBox').val();
                    counter++ ;
                    $('#TextBox').val(counter);
                });
            });
        </script>
    </body>
</html>

ここにちょっとしたテストがあります: test me

アイデアは、オブジェクトではなく変数をインクリメントすることであり、構文ミスもいくつかありますが、このコードを試してみてください。コメントでさらに議論できます.

幸運を祈ります。

于 2013-07-14T14:50:38.873 に答える
2

(これは単に他の回答の補足です)

他のすべての jsの前に、これを 1 回だけロードする必要があります。src

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.3.min.js"></script>

それは本当に古いjqueryバージョンです。最新情報はこちらでご覧いただけます

ほとんどすべての jQuery コードをラップする必要があります。

$(document).ready(function(){

});

純粋なjQueryではめったにない理由が見つかるまで、常にそれを行ってください。

$('#TextBox')最後のカウンターから決して変更できないと仮定すると、次のようになります。

$('#TextBox').val(0);
$('#AddButton').click( function() {
    $('#TextBox').val(parseInt($('#TextBox').val()) + 1);
});

ただし、ユーザーによって変更されたい場合は、 がクリックTextBoxされるたびにインクリメントされたカウンターに戻ります。AddButtoncounter0

counter = 0;
$('#AddButton').click( function() {
    counter++;
    $('#TextBox').val(counter);
});
于 2013-07-14T15:39:29.287 に答える
0

そのはず:

var counter = 0;
$("#update").click(function()
{
    counter++;
});

このデモはこちら

counter が変数の場合は、それを定義する必要があり ( var counter;)、クリック ")" も閉じるのを忘れていました。最後に余分なことに注意してください)。あなたがしていたことは、jQuery オブジェクトをインクリメントすることでした (Ohgodwhy を説明するのは良い考えです)。

入力フィールドのように、値を別のフィールドに入れたい場合 (そして今は少し推測しています)、次のようにできます。

var val;
$("#update").click(function()
{
   val = $('#counter').val();
   val++;
   $('#counter').prop('value',val )
});

このデモはこちら

于 2013-07-14T14:10:55.593 に答える