w3schools the event change jquery forms internet-explorer internet-explorer-7 radio-button

jquery - the - Problema del botón de radio IE7 cuando se crea dinámicamente



select onchange jquery value (2)

IE7 tiene problemas con los botones de radio creados dinámicamente, lo cual es extraño porque es un navegador tan sorprendente. Parece que IE7 no le permitirá cambiar el name atributo de name de los botones de opción.

Aquí hay una posible solución.

Tengo un problema en IE7 cuando estoy creando clones de botones de radio. Estoy actualizando dinámicamente el nombre y los atributos de ID, sin embargo, sigo teniendo el problema de que, al marcar un botón de opción, se restablecen los que se crearon dinámicamente. ¿Alguna idea de cómo esto puede arreglarse? Aquí hay un violín del problema

Este es el código JS que manipula los campos del formulario:

// 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(''<span class="questions_clonable hidden">''+new_block.html()+''</span>''); } } });​


Encontré varias soluciones posibles para esto, pero las siguientes funcionaron perfectamente:

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