5

私は現在取り組んでいる2つのトリッキーなUX JQueryの問題を抱えています。JQueryを使用して2つのフォーム変数を複製しています。どうすればインデックスを作成し、ID を付けて、この ID でラベルを付けることができますか。たとえば、選択ボックスから 3 を選択すると、3 行のフォームが表示され、各行の左側に 1. フォーム、2. フォーム、3 フォームの数字が表示されます。

私が抱えている2番目の問題は、アテンダント[]をconfirmattendant[]に対して検証したいということです。複製された HTML コード内でこれを行うにはどうすればよいでしょうか。

これが私のJSFiddle http://jsfiddle.net/tGprH/5/です

ここに私のHTMLコードがあります:

<select name="select" id="select">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
    <option value="4">4</option>
</select>
<br/>
<p>Email address, Confirm Email Address</p>
#1 <input type="text" name="attendant[]"/>
<input type="text" name="confirmattendant[]"/>
<br/>

<div id="container">

</div>

ここに私のJQueryがあります

$("select").change(function() {

    var select = parseInt($('#select').val() , 10);
    var $clone = '<input type="text" name="attendant[]" /><input type="text" name="confirmattendant[]" /><br/>';
    console.log($clone);
    var html = '';
    for(var i = 1;i< select ; i++){
        html += $clone;
    }
    $('#container').empty().html(html);
 }).change();
4

2 に答える 2

0

必要なforループを次のように出力できます。

html += '#'+(i + 1)+ ' '+$clone;

これを試して

$("select").change(function() {

   var select = parseInt($('#select').val() , 10);
   var $clone = '<input type="text" name="attendant[]" /><input type="text" name="confirmattendant[]" /><br/>';
   console.log($clone);
   var html = '';
   for(var i = 1;i< select ; i++){
      html += '#'+(i + 1)+ ' '+$clone;
   }
   $('#container').empty().html(html);
})

ここをいじる

于 2013-02-04T07:00:45.523 に答える
0

最初の問題について: http://jsfiddle.net/tGprH/7/

$("select").change(function() {

    var select = parseInt($('#select').val() , 10);
    var $clone = '<input type="text" name="attendant[]" /><input type="text" name="confirmattendant[]" /><br/>';
    console.log($clone);
    var html = '';
    for(var i = 1;i< select ; i++){
        if(i >= 1)
            html +=  '#' + (i+1) + ' ' + $clone;
        else
            html += $clone;
    }
    $('#container').empty().html(html);
 }).change();

そして比較について:http://jsfiddle.net/tGprH/8/

<button id="compare">compare</button>

$('#compare').click(function(){
   var $attendantArray =  $('input[name="attendant[]"]');
   var $confirmattendantArray =  $('input[name="confirmattendant[]"]');
   for(var i = 0;i< $attendantArray.length ; i++)
   {
       alert((i+1) + ' attendant [' + $($attendantArray[i]).val() + ' / ' + $($confirmattendantArray[i]).val() + ']')
   }
});
于 2013-02-04T07:05:05.233 に答える