estoy creando algunos elementos casilla de verificación en la marcha con jQuery y añadiéndolos a un nodo igual quela creación de elementos de casillas de verificación sobre la marcha con jQuery - IE extraño comportamiento
var topics = ['All','Cat1','Cat2'];
var topicContainer = $('ul#someElementId');
$.each(topics, function(iteration, item)
{
topicContainer.append(
$(document.createElement("li"))
.append(
$(document.createElement("input")).attr({
id: 'topicFilter-' + item
,name: item
,value: item
,type: 'checkbox'
,checked:true
})
.click(function(event)
{
var cbox = $(this)[0];
alert(cbox.value);
})
)
.append(
$(document.createElement('label')).attr({
'for': 'topicFilter' + '-' + item
})
.text(item)
)
)
});
Los problemas que estoy encontrando son dos -fold (existen sólo en IE)
- las casillas de verificación se añaden a la página, pero su defecto comprobado el estado no está marcada, cuando estoy especificando 'verdadero' para ese valor. (La prueba con 'marcado' para el valor no hace ninguna diferencia)
- Cuando se ejecuta
alert(cbox.value);
, la salida está 'encendida', cada vez.
Creo que el problema central aquí es que necesito una mejor manera de establecer el estado predeterminado de las casillas de verificación y establecer su atributo de "valor" predeterminado. Pero aún no he encontrado otra manera.
Nota: todo este código funciona bien en Firefox y Chrome.
Esta es la prueba de jQuery 1.3.1 con IE 7.0.5730.11
Esto es correcto. Acabo de confirmarlo con algunas pruebas. –
Me he encontrado con este problema innumerables veces en IE. Me alegro de que resolvió el problema. –
esto hizo mi día, gracias –