Cita: Con el script que yo ofrezco funciona de cualquier manera.
Una pequeña modificacion para que funcione sin ser el elemento inmediato a "this". aun asi no funcionaria en todos los casos ya que otro input tal como esta el codigo ahora afectaria, pero se puede adaptar sin mucho mas codigo. ¿ventajas? yo tendria solo que adaptar la funcion y en tu caso tendrias que adaptar un numero indeterminado de elementos que tendrian que estar vinculados mediante name=id. eso ya es cuestion de gustos, pero si de mantenimiento hablamos prefiero solo modificar una funcion. como ejemplo quita el name y el id y veras que ese script deja de funcionar, ahora quitalo en mi codigo y veras que continua funcionando, todo tiene sus pros y sus contras.
Código Javascript
:
Ver originalfunction cambiarFoto(o){
var x = o.src
x = x.split("/").pop();
x = x === "off.png" ? "on.png" : "off.png";
o.src = x;
o = o.nextSibling;
while(!o.type)
{
o = o.nextSibling;
}
o.value = o.value === "no" ? "si" : "no";
}