0

たとえば、すべての兄弟を入力できるフォームがあります。これは0または100になる可能性があります(両親がどれだけ「忙しかった」かによって異なります)。入力フィールドを自動的に拡大するにはどうすればよいですか?現在、ユーザーが[兄弟を追加]をクリックして入力フィールドを追加するフォームがありますが、そのボタンは煩わしいので、新しい空白のフィールドが1つに結び付けられたらすぐに表示されるようにする方法を考えています。 。したがって、兄弟の名前を入力するとすぐに新しいフィールドが下に表示されるので、その兄弟の情報を使い終わったら、次のフィールドに進むことができます(その名前を入力すると、新しい入力が下に表示されます)。

また、それが役立つ場合、これに関する私の長期的な目標は、入力されたアイテムの「分析」を提供して、兄弟情報を入力するときに平均年齢を表示し、兄弟が親よりも古いことを検証することです(そして警告サーバーに送信する前に)など)。

私はWeb開発に非常に慣れておらず、jqueryを学んでいますが、jqueryが私がやろうとしていることを実行できるかどうかわからず、これを達成するためにどのテクノロジーを研究する必要があるかを誰かに教えてもらえないかと考えていました(ajaxだと思いました)しかし、それが可能であるかどうかについては多くを見つけることができませんでした)。私の現在の(初心者の)アプローチは、50個のフィールドを持ち、それらをすべて非表示にすることです。ユーザーが[兄弟を追加]をクリックすると、次のフィールドが再表示されます。これを行うためのより良い方法はありますか、または私の現在の方法が良い場合は、「兄弟を追加」ボタンの必要性を取り除くためにそれを変更する方法がありますか?例は素晴らしいですが、実際には、何をする必要があるかについての高レベルの説明が欲しいので、何を探すべきかを知っています(そしてそれを自分で学びます)。

4

3 に答える 3

2

難しくありません。入力内のキーイベントを観察し、現在の入力が最後の入力である場合は、新しい入力を追加します(例:を使用$.after()

デモ: http: //jsfiddle.net/doktormolle/WaL84/

于 2012-07-12T17:56:12.670 に答える
1

jQueryでできるはずです。jsfiddleで実験して 、ある程度実用的な例を提供することをお勧めします。または、あなたが達成しようとしていることをよりよく理解するのに役立つかもしれません。

私はここで何かを始めましたhttp://jsfiddle.net/krishollenbeck/jyQTN/

これがあなたが言及しているようなものであるかどうか私に知らせてください。または私が完全にオフになっている場合。

<input type="text" class="input"/>​


$('.input').focus(function(){
    $('<input type="text" />').insertAfter('.input')
});​

あなたが探しているものはもっと手の込んだものだと私は確信しています。しかし、これはあなたが達成しようとしていることの最も基本的な形ですか?

于 2012-07-12T17:55:01.663 に答える
1

非常に基本的なフィドルを作成しました。スタイリングはありませんが、私が信じている通りの結果が得られます。

フィドル-http://jsfiddle.net/ZqQ7Y/4/

于 2012-07-12T18:06:56.567 に答える