Foros del Web » Programando para Internet » Javascript »

Agregar o quitar valores usando checkbox y select

Estas en el tema de Agregar o quitar valores usando checkbox y select en el foro de Javascript en Foros del Web. Hola amigos foreros!!!! Tengo una pregunta que no me ha hecho sacar el clavo, tengo una formulario como ejemplo para que vean que es lo ...
  #1 (permalink)  
Antiguo 07/05/2004, 11:23
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 20 años, 10 meses
Puntos: 2
Exclamación Agregar o quitar valores usando checkbox y select

Hola amigos foreros!!!!

Tengo una pregunta que no me ha hecho sacar el clavo, tengo una formulario como ejemplo para que vean que es lo que intento hacer: Es colocar a través de valores y select generen un valor y que se de total en un campo de texto, tal como aparece en mi ejemplo:

Ver demo

Me gustaria que alguien me pueda ayudar con esta duda que tengo desde hace rato que no he podido resolver.....


Agradezco la ayuda que me puedan dar con este tema, si por algun caso no se entiende, me lo hagan saber por favor......

Gracias!!!!
__________________
Ahora T4X es
WinGFX!!!!!
  #2 (permalink)  
Antiguo 08/05/2004, 11:36
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
... pasé por distintas fases....

primero me divertí mucho...
luego comenzó el dolor de cabeza, pero casi estaba....
luego los nombres de los últimos campos me lo fastidió todo...
...con el dolor de cabeza era dificil pensar (se me mareó la neurona)

... pero a base de parches, salió (lástima el último nombre del último checkbox, ese.... ese es el que lo ha liado todo! )

En fin .... a ver si te sirve

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Agregar o quitar valores con checkboxes</title>
<script language="JavaScript" type="text/JavaScript">
<!--
function sumaItems(que,donde){
if(que.checked){
donde.AddFormWebModularTot.value = parseInt(donde.AddFormWebModularTot.value) + parseInt(eval("donde.fieldsetMod" + que.name.charAt(que.name.length-1) + ".value"))
}
else{
donde.AddFormWebModularTot.value = parseInt(donde.AddFormWebModularTot.value) - parseInt(eval("donde.fieldsetMod" + que.name.charAt(que.name.length-1) + ".value"))
}
}
var otro = 0
function sumaItems2(que,donde){
if(que.name == "fieldsetModOther"){sumaItems3(parseInt(que.value) );return false}
valor = 0

for(m=0;m<donde.elements.length;m++){
if(donde.elements[m].name.indexOf(que.name.substring(0,que.name.length-1))>-1 && donde.elements[m].name != "fieldsetModOther"){
if(eval("donde.CMod" + donde.elements[m].name.charAt(que.name.length-1) + ".checked")){
valor += parseInt(donde.elements[m].value)
}
}

}
if(donde.COtherMod.checked){valor += otro}
donde.AddFormWebModularTot.value = valor
}
function sumaItems3(val){
valor =document.forms[0].AddFormWebModularTot.value
valor-=otro
valor += val
document.forms[0].AddFormWebModularTot.value = valor
otro = val
}
function sumaItems4(que,donde){
if(que.checked){
donde.AddFormWebModularTot.value = parseInt(donde.AddFormWebModularTot.value) + parseInt(donde.fieldsetModOther.value)
}
else{
donde.AddFormWebModularTot.value = parseInt(donde.AddFormWebModularTot.value) - parseInt(donde.fieldsetModOther.value)
}
otro = parseInt(donde.fieldsetModOther.value)
}
function asigna(){
for(t=0;t<document.forms[0].elements.length;t++){
if(document.forms[0].elements[t].onclick!=null){
if(document.forms[0].elements[t].type == "checkbox" && document.forms[0].elements[t].name.indexOf('CMod')==0){
document.forms[0].elements[t].onclick = function(){
eval("flvFTFO1('frmWebModular','fieldsetMod" + this.name.charAt(this.name.length-1) + ",t')")
sumaItems(this,this.form)
}
}

}
if(document.forms[0].elements[t].type.indexOf("select")> -1 && document.forms[0].elements[t].name.indexOf('fieldsetMod')==0){
document.forms[0].elements[t].onchange = function(){
sumaItems2(this,this.form)
}
}
}
}
window.onload = asigna
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function flvFTFO1(){// v1.1
// Copyright 2003, Marja Ribbers-de Vroed, FlevOOware (www.flevooware.nl/dreamweaver/)
if (!document.layers){var v1=arguments,v2=MM_findObj(v1[0]),v3,v4,v5,v6,v7,v8,v9,v10;if (v2){for (v3=1;v3<v1.length;v3++){v6=v1[v3].split(",");v7=v6[0];v8=v6[1];v10=false;for (v4=0;v4<v2.length;v4++){v5=v2[v4];if (v5.id==v7||v5.name==v7){v10=true;break;}}if (!v10){v5=MM_findObj(v7);v10=(!v5)?false:true;}if (v10){if (v8=="t"){v5.disabled=!v5.disabled;}else {v9=(v8=="e")?false:true;v5.disabled=v9;}}}}}}
//-->
</script>
<style type="text/css">
<!--
body,td,th {
font-family: Tahoma;
font-size: 11px;
}
-->
</style></head>

<body>
<form action="" method="post" name="frmWebModular" id="frmWebModular">
<table width="527" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="19" valign="top"><table width="470" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="244"><input name="checkbox" type="checkbox" value="checkbox" checked disabled>
<span class="txt3">M&oacute;dulo B&aacute;sico</span><br>
</td>
<td width="226" rowspan="2" valign="top" style="padding: 5px 5px 5px 5px;"><table width="180" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="15"><input name="DesignKind" type="radio" value="Dise&ntilde;o Personalizable" id="DK1"></td>
<td height="40" class="txt2"><label for="DK1" style="cursor: hand;"><span class="txt3">Valor
Opcion Alterna 1 </span><br>
Valor $150.000</label></td>
</tr>
<tr>
<td width="15"><input name="DesignKind" type="radio" value="Dise&ntilde;o Exclusivo" id="DK2"></td>
<td height="40" class="txt2"><label for="DK2" style="cursor:hand;"><span class="txt3">Valor
Opcion Alterna 2 </span><br>
Valor $300.000</label></td>
</tr>
</table></td>
</tr>
<tr>
<td width="244" valign="top" style="padding: 5px 0px 0px 20px;">Opciones</td>
</tr>
</table></td>
</tr>
<tr>
<td height="5" valign="top"></td>
</tr>
<tr>
<td height="1" bgcolor="#000066"></td>
</tr>
<tr>
<td style="padding: 5px 5px 5px 5px;"><table width="450" border="0" align="center" cellpadding="0" cellspacing="0" >
<!--DWLayoutTable-->
<tr align="center">
<td colspan="6" valign="top" class="txt3" style="padding: 5px 5px 5px 5px;">M&oacute;dulos
Adicionales</td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModB" type="checkbox" id="CModB" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModB,t' );sumaItems(this,this.form)">
<select name="fieldsetModB" id="fieldsetModB" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option></select>
&Iacute;tem
<input type="hidden" name="valueMod1" value="0"></td>
  #3 (permalink)  
Antiguo 08/05/2004, 11:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
oño que no me cabe.... sigue...

<td width="214" colspan="3" valign="top" class="txt2"><input name="CModJ" type="checkbox" id="CModJ" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModJ,t' )">
<select name="fieldsetModJ" id="fieldsetModJ" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod9" value="0"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModC" type="checkbox" id="CModC" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModC,t' )">
<select name="fieldsetModC" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
&Iacute;tem
<input type="hidden" name="valueMod2" value="0"></td>
<td colspan="3" valign="top" class="txt2"><input name="CModK" type="checkbox" id="CModK" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModK,t' )">
<select name="fieldsetModK" id="fieldsetModK" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod10" value="0"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModD" type="checkbox" id="CModD" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModD,t' )">
<select name="fieldsetModD" id="fieldsetModD" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select> <span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod3" value="0"></td>
<td colspan="3" class="txt2"><input name="CModL" type="checkbox" id="CModL" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModL,t' )">
<select name="fieldsetModL" id="fieldsetModL" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod11" value="0">
</td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModE" type="checkbox" id="CModE" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModE,t' )">
<select name="fieldsetModE" id="fieldsetModE" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod4" value="0"></td>
<td colspan="3" class="txt2"><input name="CModM" type="checkbox" id="CModM" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModM,t' )">
<select name="fieldsetModM" id="fieldsetModM" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod12" value="0"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModF" type="checkbox" id="CModF" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModF,t' )">

<select name="fieldsetModF" id="fieldsetModF" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod5" value="0"></td>
<td colspan="3" class="txt2"><input name="CModN" type="checkbox" id="CModN" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModN,t' )">
<select name="fieldsetModN" id="fieldsetModN" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod13" value="5"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModG" type="checkbox" id="CModG" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModG,t' )">
<select name="fieldsetModG" id="fieldsetModG" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod6" value="0"></td>
<td colspan="3" class="txt2"><input name="CModO" type="checkbox" id="CModO" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModO,t' )">
<select name="fieldsetModO" id="fieldsetModO" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod14" value="0"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModH" type="checkbox" id="CModH" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModH,t' )">
<select name="fieldsetModH" id="fieldsetModH" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod7" value="0"></td>
<td colspan="3" class="txt2"><input name="CModR" type="checkbox" id="CModR" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModR,t' )">
<select name="fieldsetModR" id="fieldsetModR" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod15" value="0"></td>
</tr>
<tr>
<td height="21" colspan="3" valign="top" class="txt2"><input name="CModI" type="checkbox" id="CModI" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModI,t' )">
<select name="fieldsetModI" id="fieldsetModI" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<span class="txt2">&Iacute;tem</span><input type="hidden" name="valueMod8" value="0"></td>
<td colspan="3" class="txt2"><input name="COtherMod" type="checkbox" id="COtherMod" value="1" onClick="flvFTFO1('frmWebModular','fieldsetModOthe r,t','fieldsetOtherTXT,t');sumaItems4(this,this.fo rm)">
<select name="fieldsetModOther" id="fieldsetModOther" disabled>
<option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option><option value="5">5</option> </select>
<input name="fieldsetOtherTXT" type="text" class="form_whois" id="fieldsetOtherTXT" value="Otro, cual?" size="10" onFocus="if(this.value=='Otro, cual?')this.value='';" disabled>
<input type="hidden" name="valueMod16" value="0"></td>
</tr>
</table></td>
</tr>
<tr>
<td height="19" align="center" class="txt2">Total &Iacute;tems Elegidos: &nbsp;
  #4 (permalink)  
Antiguo 08/05/2004, 11:38
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 3 meses
Puntos: 381
<input name="AddFormWebModularTot" type="text" class="form_whois" id="AddFormWebModularTot" value="0" size="3" readonly="true">&nbsp;<input name="Submit" type="submit" class="button_form" value="Actualizar">
Debe dar la suma de lo seleccionado en checkbox y en select.<br>
En fin, lo que me gustaria hacer en donde aparece 0 es que
aumente el valor o lo disminuya a medida que se seleccionan
&iacute;tems.. </td>
</tr>
</table>
</form>
</body>
</html>




yá me contarás.....
  #5 (permalink)  
Antiguo 08/05/2004, 13:06
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 20 años, 10 meses
Puntos: 2
WOW tunait!!!!


Que impresión, voy revisar el "codiguito"



__________________
Ahora T4X es
WinGFX!!!!!
  #6 (permalink)  
Antiguo 08/05/2004, 13:24
T4X
 
Fecha de Ingreso: enero-2004
Ubicación: myT-Base
Mensajes: 254
Antigüedad: 20 años, 10 meses
Puntos: 2
tunait

Te admiro, eso quedó.......................... Excelente!!!!!!

Me quito el sombrero, de verdad te lo agradezco, eso si tengo que aprenderlo a fondo.....
__________________
Ahora T4X es
WinGFX!!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:36.