Estoy intentando usar varias casillas asp.net en una página, deshabilitándolas en consecuencia.La casilla de verificación no funciona correctamente para IE con jquery
<asp:CheckBox ID='chkMenuItem' runat='server' CssClass='HiddenText' Text='Test' onclick='<%#String.Format("checkChild({0});", Eval("id")) %>' />
en Javascript, estoy usando el siguiente código
function checkChild(id) {
for (i = 0; i < $("input[id*=hdnParentMenuItemID]").length; i++) {
if ($('input[id*=hdnParentMenuItemID]')[i].value.split(':')[0] == id) {
var childID = $('input[id*=hdnParentMenuItemID]')[i].value.split(':')[1];
if ($("#" + childID).attr("disabled"))
//$("#" + childID).attr('disabled', '');
$("#" + childID).removeAttr("disabled");
else
$("#" + childID).attr('disabled', true);
}
}
}
Ahora es las casillas de verificación están desactivadas una vez que se carga la página, la sección removeAttr no funciona. Traté de pasar por el depurador y la lógica funciona perfectamente bien. Si las casillas de verificación no están deshabilitadas en la carga de la página, el código funciona bien. Traté de reemplazar los 'atributos' desactivados por 'verificado' para ver si los otros atributos funcionan bien y funcionan perfectamente bien. Intenté
$("#" + childID).attr('disabled', '');
pero tampoco funcionó.
Nota: Funciona perfectamente en FF y Chrome, pero no funciona en IE.
Gracias,
Por favor, vea http://www.artzstudio.com/2009/04/jquery-performance-rules/#cache-jquery-objects para limpiar su en bucle. Si hace que su script se ralentice innecesariamente, compruebe i <$ ("input [id * = hdnParentMenuItemID]"). Length. Coloque $ ("input [id * = hdnParentMenuItemID]") en una variable local y también ponga la propiedad length en una variable local. – nickytonline