0

ユーザーが「行を追加」をクリックすると、行がピエロになるフォームがあります。私の問題はラジオボタンにあります。ラジオグループの名前は同じままで、複製された行ごとに一意にする必要があります。これが私が今持っている方法です。

 <input type="radio" name="chronic_l_duration[]" value="Chronic" />
 <input type="radio" name="chronic_l_duration[]" value="Limited duration" />

私が欲しいのはこのようなものです:

<input type="radio" name="chronic_l_duration[1]" value="Chronic" />
<input type="radio" name="chronic_l_duration[1]" value="Limited duration" />

他の行が追加されると終了し、次のようになります。

 <input type="radio" name="chronic_l_duration[2]" value="Chronic" />
 <input type="radio" name="chronic_l_duration[2]" value="Limited duration" />

行のクローンを作成するために使用するJavascript:

  $(document).ready(function(){
    var clonedRow = $('.row').clone().html();
    var appendRow = '<tr class = "row">' + clonedRow + '</tr>';  

    $('#btnAddMore').click(function(){

    $('.employmentHistoryForm tr:last').after(appendRow);
    });


    $('.deleteThisRow').live('click',function(){
    var rowLength = $('.row').length;

    if(rowLength > 1){
    deleteRow(this);
    }else{
    $('.employmentHistoryForm tr:last').after(appendRow);
    deleteRow(this);
    }
    });

    function deleteRow(currentNode){
    $(currentNode).parent().parent().remove();
    }
    });

したがって、行が複製されるたびに、ラジオボタンには一意の値があります。

これを行う方法はありますか?

4

1 に答える 1

0

で追加された行にアクセスして$('.employmentHistoryForm tr:last')から、入力の名前を変更できます。

$('#btnAddMore').click(function(){
   $('.employmentHistoryForm tr:last').after(appendRow);
   $('.employmentHistoryForm tr:last input[type="radio"]').attr('name', 'desired value');
});
于 2013-03-04T07:36:16.057 に答える