2

入力テキスト領域がたくさんあり、その後にボタンが続きます。やりたいことは、入力ボックスまたはボタンの ID またはクラスを定義せずに、Enter キーを押した後、入力ボックスごとに次のボタン要素を自動的に選択することです。

私の問題は、次の機能を正しく使用できないことにあると思います。これは初めてのことです。

    <input type="text"/> <button>enter</button> /after hitting enter in this input, it would click the button element /

    <input type="text"/> <button>enter</button> /after hitting enter in this input, it would hit enter in this button element/

     <script>
     $("input[type=text]").keyup(function(event){
    if(event.keyCode ==13){
    $("input[type=text]").next("input[type=text] button").click();
     }
     });

上記のスクリプト部分は機能しませんが、ID またはクラスを指定すると機能します。たとえば、入力テキストに「in」、ボタンに「btn」という ID を指定すると、1 つの入力に対して機能します。ここにボタンがあります:

 $("#in").keyup(function(event){
 if(event.keyCode ==13){
  $("#btn").click();
  }
  });

しかし、ボタンが続く入力ボックスが多すぎるため、Enter キーを押した後に次のボタンが選択されるように、各入力ボックスを何らかの方法で作成する必要があります。

助けてください

4

2 に答える 2

2

変化する:

$("input[type=text]").next("input[type=text] button").click();

に:

$(this).next("button").click();

keyCodeクロスブラウザーではないことに注意してくださいwhich。代わりにプロパティを使用できます。

$("input[type=text]").keyup(function(event){
    if ( event.which === 13 ) {
        $(this).next("button").click();
    }
});
于 2012-12-23T18:12:18.403 に答える
2

これでうまくいくと思います。

$("input").keyup(function(event){
    if(event.which == 13) {
        $(this).next("button").click();
    }
});
于 2012-12-23T18:12:22.913 に答える