在 Javascript 中复制单选按钮组

Duplicate radio button group in Javascript

本文关键字:单选按钮 复制 Javascript      更新时间:2023-09-26

我在使用某些javascript代码时遇到问题,想知道是否有人可以提供帮助。我正在填写注册表,特别是"注册其他人"部分。我的代码运行良好,除了当我尝试在 javascript 中复制单选按钮组时,它似乎不想更改组名属性。

这是javascript:

<script type="text/javascript">
$(document).ready(function(){
    $('#add').click(function() {
    $('<div class="container_add_registrant" >
    <p class="text_content">First name:<br /><input type="text" name="add_registrant[][fname]" id="add_registrant[][fname]" /></p>
    <p class="text_content">Last name:<br /><input type="text" name="add_registrant[][lname]" id="add_registrant[][lname]" /></p>
    <p class="text_content">Workout option: <?php get_event_options_additional($event_id); ?></p>
    <p class="text_content">Shirt size:<input type="radio" name="add_registrant[][shirtsize]" value="S" id="S" />S&nbsp;&nbsp;<input type="radio" name="add_registrant[][shirtsize]" value="M" id="M" />M&nbsp;&nbsp;<input type="radio" name="add_registrant[][shirtsize]" value="L" id="L" />L&nbsp;&nbsp;<input type="radio" name="add_registrant[][shirtsize]" value="XL" id="XL" />XL</p>
    <p class="text_content">Is this person a cancer survivor?:<input type="radio" name="add_registrant[][survivor]" value="Y" id="Y" />Yes <input type="radio" name="add_registrant[][survivor]" value="N" id="N" />No </p></div>')
    .fadeIn('slow').appendTo('.add_registrant');
    i++;
    });
    $('#remove').click(function() {
        if(i > 0) {
            $('.container_add_registrant:last').remove();
            i--;
        }
    });
});
 </script>

这部分代码似乎是问题所在:

<p class="text_content">Shirt size:
   <input type="radio" name="add_registrant[][shirtsize]" value="S" id="S" />S&nbsp;&nbsp;
   <input type="radio" name="add_registrant[][shirtsize]" value="M" id="M" />M&nbsp;&nbsp;
   <input type="radio" name="add_registrant[][shirtsize]" value="L" id="L" />L&nbsp;&nbsp;
   <input type="radio" name="add_registrant[][shirtsize]" value="XL" id="XL" />XL
</p>

这里又是小提琴网址(对不起,第一次使用这个网站(

http://jsfiddle.net/4qaaN/1/

单击"注册其他人"至少2次,您将看到我在单选按钮上遇到的问题

由于您已经对i有多少新注册者进行了计数,因此您可以在运行时将其放在名称中以将它们分开。下面是一个示例。

从本质上讲,它只是

'<input type="radio" name="add_registrant[][shirtsize]' + i + '" value="S" id="S" />'

i可以在任何一侧,无论您喜欢在服务器端解析它。