【问题标题】:Radio button array with cloned row具有克隆行的单选按钮数组
【发布时间】:2013-03-04 07:27:48
【问题描述】:

我有一个表单,如果用户单击“添加行”,则该行会变成小丑。我的问题是单选按钮,单选组的名称保持不变,我需要让它们对每个克隆的行都是唯一的。这就是我现在的样子。

 <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();
    }
    });

因此,每次克隆行获取时,单选按钮都有一个唯一值。

有没有办法可以做到这一点?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您可以使用$('.employmentHistoryForm tr:last') 访问附加的行,然后修改输入名称:

    $('#btnAddMore').click(function(){
       $('.employmentHistoryForm tr:last').after(appendRow);
       $('.employmentHistoryForm tr:last input[type="radio"]').attr('name', 'desired value');
    });
    

    【讨论】:

    • 您好,感谢您的帮助,如何在名称后面的引号中获得数字?
    猜你喜欢
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-30
    • 2017-04-28
    • 2014-01-21
    • 2016-05-22
    • 2015-02-14
    • 2015-08-27
    相关资源
    最近更新 更多