我有这个表单,您可以在其中单击链接以克隆表单字段。我在每个克隆的顶部也有一个选择单选按钮,它隐藏并显示带有它的复选框。我无法弄清楚为什么我可以在第一次迭代中做到这一点,以及如何让它适用于每个克隆。
我的 html 看起来像这样
<tr> // if the first radio button is selected, the checkbox appears and disappears on selecting 2nd <td width="250px"><span style="color: #cc0000;">*</span> Please check the costs that apply:</td> <td><input id="Cost_1" type="radio" value="15" name="Costs"/> First Cost: $15 <br/> <input id="Cost_2" type="radio" value="10" name="Costs"/> Second cost: $10 <br/> <tr id="special_offers"> <td> <input type="checkbox" value="5" name="special_offers"/> <span id="optional_span">Special Offers: $5
<tr> <td> First name:</td> <td><input name="first_name_id_1" type="text" id="first_name_id_1" size="15" class="required"></td> </tr> <tr> <td> Last name:</td> <td><input name="last_name_id_1" type="text" id="last_name_id_1" size="15" ></td> </tr> <tr> </tbody> <tr> <td><a href="#" onClick="addFormField(); return false;">Register additional attendee</a></td> </tr> <tr>
我的功能:
function addFormField() { var currentCount = $('.multiplerows').length; var newCount = currentCount+1; var lastRepeatingGroup = $('.multiplerows:last') var newSection = lastRepeatingGroup.clone(); newSection.find('input').val(''); //clears the text fields// $('input[type=radio]',newSection).removeAttr('checked'); $('input[type=checkbox]',newSection).removeAttr('checked'); newSection.insertAfter(lastRepeatingGroup); newSection.find("input").each(function (index, input) { input.id = input.id.replace("_" + currentCount, "_" + newCount); input.name = input.name.replace("_" + currentCount, "_" + newCount); }); newSection.find("label").each(function (index, label) { var l = $(label); l.attr('for', l.attr('for').replace("_" + currentCount, "_" + newCount)); }); return false; }; $("input[name='Costs']").click(function() { if(document.getElementById('Cost_1').checked) { $("#special_offers").show(); } else { $("#special_offers").hide(); ; } });
出于某种原因,小提琴不起作用,但我没有问题克隆此表单上的元素,我的问题是如果用户单击顶部的第二个单选按钮并让该选项可用,我的问题是使复选框变灰,每次用户单击以注册新的与会者。希望小提琴能给你一些想法。 http://jsfiddle.net/qnAHq/7/