2

3 つのフィールドセットがあり、それぞれに NAME と AGE の 2 つの入力があるとします。後で、JQUERY を使用してフォームを反復処理し、各フィールドセットのすべての入力を読み取りたいと考えています。

反復を最も容易にするために、フィールドセットと入力をどのように構成すればよいですか? 現在、各入力に一意の ID を割り当てていますが、可能であれば、一意の識別子をツリーのさらに上のフィールドセット タグなどにプッシュすることをお勧めします。

Jquery を使用してフィールドセットのコレクション内の各要素にアクセスするにはどうすればよいですか?

4

3 に答える 3

1

このようにして、各名前テキストボックスに「名前」クラスを割り当て、すべての年齢テキストボックスに「年齢」クラスを割り当てます。そして、各フィールドセットを tihs のように繰り返します。

var people=[];
$('feildset').each(function(index,feildset){
    people.push({Name:$('.name',feildset).val(), Age:$('.age',feildset).val()})
});
于 2012-06-29T03:26:40.577 に答える
0
<fieldset id="fieldset_1">
  <input type="text" class="name">
  <input type="text" class="age">
</fieldset>
<fieldset id="fieldset_2">
  <input type="text" class="name">
  <input type="text" class="age">
</fieldset>
<fieldset id="fieldset_3">
  <input type="text" class="name">
  <input type="text" class="age">
</fieldset>

次に、次のことができます。

$("fieldset").each(function(){
  alert($(this).id + " has the name value: " + $(this).find("input.name").val());
  alert($(this).id + " has the age value: " + $(this).find("input.age").val());
});
于 2012-06-29T03:26:06.010 に答える
0

これを試して:

$('fieldset').each(function() {
   var cls = $(this).attr('id');
   // this makes a ul element with a class based on the fieldset's id and appends it to the body
   $('</ul>').text($(this).attr('id') + ':').addClass(cls).appendTo('body');
   $(this).find('input').each(function() { // iterating over fieldset's inputs
       // this adds list elements to the ul 
       $('</li>').text($(this).attr('name') + ': ' + $(this).val()).appendTo("." + cls);
   })
})
于 2012-06-29T03:26:49.520 に答える