Hice un menu con 6 opciones (las opciones de los equipos excelentes) que está formado por checkboxes.
Ahora, yo quiero que 2 de estas 6 opciones se puedan elegir (o sea, solo limitar a 2 elecciones) y al mismo tiempo que sume el precio que va a gastar el usuario.
El codigo que utilizo para la suma de precios es el siguiente:
Código:
Para activarlo uso el evento onClick="precio(valor, id)" [Ejemplo: onClick="precio('1', '1')". El ID del checkbox es 1 y el precio que va a subir es 1] (Creo que saben leerlo y entenderlo).<script type="text/javascript"> var total=0; function precio (valor, idbutton) { if (document.getElementById(idbutton).checked) { total=parseInt(total) + parseInt(valor); document.getElementById('textovalor').innerHTML = "Total: $"+total; } else { total=parseInt(total)-parseInt(valor); document.getElementById('textovalor').innerHTML = "Total: $"+total; } } </script>
Y el script que uso para limitar las checkboxes es byName. Este es el siguiente:
Código:
Lo que quiero es limitar los checkboxes a 2 elecciones y que continuo sumando el precio.<script> function doIt(_v,casilla,form) { a = casilla.form.exc0.checked; b = casilla.form.exc1.checked; c = casilla.form.exc2.checked; d = casilla.form.exc3.checked; e = casilla.form.exc4.checked; f = casilla.form.exc5.checked; contador = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0) + (e ? 1 : 0) + (f ? 1 : 0); if (contador > 2) { casilla.checked = false; alert("Solo puedes elegir 2 opciones excellent"); } var X=eval("document.leather.exc"+_v+".checked?0:1"); if(isIE) { eval(""+_v+".style.backgroundColor=bC[X]"); eval(""+_v+".style.color=C[X]"); } if(isNS6) { document.getElementById("exc"+_v).style.backgroundColor=bC[X]; document.getElementById("exc"+_v).style.color=C[X]; } } </script>
El problema de esto, es que cuando intento hacer estos dos eventos en un onClick no me funcionan.
O sea, 1 solo me funciona, pero el otro no.
Les muestro lo siguiente:
1. Pongo: onClick="doIt(this,this,this_form);precio('1', '2')".
Ahi solo me funciona el doIt, el func precio no me funciona
2. Pongo: onClick="precio('1', '2');doIt(this,this,this_form)"
Aca precio funciona bien y doIt tambien, pero cuando marco 3 casillas (el doIt solo me permite 2), al desactivarla no me resta el precio que tenia la casilla seleccionada, lo deja como si la casilla seguiria marcada.
Espero que me puedan ayudar.
Gracias de antemano.
Atte, Kratos.