动态创建IE7单选按钮问题

当我创建单选按钮克隆时,我在IE7中遇到了问题。 我正在动态更新名称和ID属性,但是,我仍然有一个问题,即正在检查的单选按钮会重置已动态创建的其他任何按钮。 知道如何解决这个问题吗? 这是一个问题的小提琴

这是操作表单字段的JS代码:

// Dropdown select $('#quantity').live("change", function(){ $('.questions_clonable:not(.questions_clonable:first)').remove(); // Get value of selection var num = $(this).val(); var cloned_el = $('.questions_clonable').clone(); if (num > 1) { for (var i = 1; i < num; i++) { // Assign cloned block to new var var new_block = cloned_el; // Store previous number for replacing with current in cloned block input fields var prev = i-1; // Update input name to make it unique new_block.find('input').each(function() { this.name = this.name.replace(prev, i); this.id = this.id + i; }); // Bit of a workaround needed to clone properly, reiterating class name $('.multiple_questions_container').append(''); } } });​ 

IE7在动态创建的单选按钮方面存在问题,这很奇怪,因为它是一个非常棒的浏览器。 看来IE7不会让你重命名单选按钮的name属性。

这是一个可能的解决方法。

我发现了几个可能的修复,但以下工作完美:

 function setElementName(elems, name) { if ($.browser.msie === true){ $(elems).each(function() { this.mergeAttributes(document.createElement(""), false); }); } else { $(elems).attr('name', name); } }