Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/12/2005, 06:27
aruizroldan
 
Fecha de Ingreso: octubre-2003
Mensajes: 280
Antigüedad: 21 años, 2 meses
Puntos: 1
Ayuda en modificación de codigo

Hola a todos. Me he bajado de este foro un script para seleccionar un máximo de 3 checkbox, pero sabiendo el número de checkbox totales. He intentado modificarlo para que este numero lo coga de una base de datos.

Os paso el código:

function countChoices(obj) {
max = 3; // numero maximo de elementos seleccionados

var elementos = <? echo $nregistros; ?>; //Numero total de productos

//------
//Este ejemplo está hecho para un total de 4 productos, así que habría que modificarlo
//dependiendo del total de productos
var contador = new Array();

for (i=0;i<elementos;i++){
contador[i] = obj.form.imagen+i+.checked;
count += (contador[i] ? 1 : 0);

}
/* ORIGINAL
a = obj.form.imagen1.checked; // checkboxes
b = obj.form.imagen2.checked;
c = obj.form.imagen3.checked;
d = obj.form.imagen4.checked;

count = (a ? 1 : 0) + (b ? 1 : 0) + (c ? 1 : 0) + (d ? 1 : 0);
*/


//-------

if (count > max) {
alert("Atencion! Solo puede seleccionar " + max + "! \Quite una de ellas si quiere seleccionar otra." );
obj.checked = false;
}
}

Lo que está en rojo es lo original, ylo azul el array que he intentado utilizar.
Luego, en el form lo hago de la siguiente forma:

<input type="checkbox" value="$id_obtenido" name="imagen$id_obtenido" onClick="countChoices(this)">

Inicialmente tendría una forma asi:
<input type="checkbox" value="1" name="imagen1" onClick="countChoices(this)"> ...

¿alguien me puede ayudar¿

Un saludo y gracias de antemano.