Escribo porque llevo muuucho muuucho tiempo muy mosqueda con un problema de checkboxes y no hay manera humana de resolverlo.
Tengo una aplicacion Web en la que salen imágenes y bajo éstas, un checkbox. Si la imagen está metida en un carrito de la compra, cuando aparezca en pantalla debe aparecer seleccionado su checkbox correspondiente.
Uso páginas JSP con javascript y ajax.
El código es:
Código:
cart.existsItem(...) es una función en Ajax que me devuelve 1 o 0 (=está presente en el carrito o no)i=0; j=0; idCheckBox = "checkBox0"; idCheck = "check0"; while (i < data.listSize){ cart.existsItem(listName[i+1],listId[i+1],callBackHandler4); if(exists){ alert("es true"); document.getElementById(idCheckBox).innerHTML = '<input Type="checkbox" id="' + idCheck + '" onClick="selectCh('+i+')" checked/>'; } else{ alert("es false"); document.getElementById(idCheckBox).innerHTML = '<input Type="checkbox" id="' + idCheck + '" onClick="selectCh('+i+')"/>'; } i++; idCheckBox = "checkBox" + i; idCheck = "check" + i; }
1)Si dejo el código tal cual está todo funciona bien, pero claro, el usuario ve continuamente "es true" o "es false", con lo cual eso tiene que desaparecer...además de salirme el "null" que explico en 3).
2)Si quito los alert de "es true" o "es false" nunca me selecciona nada
3)Si comparo con el elemento que debería (en cart.existsItem uso i+1), que debería ser i, detecta los elementos desplazados 1 posición hacia la derecha y por tanto los selecciona tb desplazados hacia la derecha. Por eso he metido el "i+1", pero claro!, al llegar al final, como no existe el último elemento me saca un null por pantalla...
Alguien me puede por favor ayudar a solucionar esto??Llevo meses con el tema y no hay manera, ya no se si pensar que javascript anda cojo de algún sitio o que...
Muchas gracias!
Cristina.