Foros del Web » Programando para Internet » Javascript »

Borrar completamente un select

Estas en el tema de Borrar completamente un select en el foro de Javascript en Foros del Web. Por favor, necesitaria una ayuda con lo siguiente: Tengo el siguiente codigo javascript : Código: contents=new Array(); function TCN_addContent(str){ contents.push(str); arrayValues = new Array(); for(i=0;i<contents.length;i++){ ...
  #1 (permalink)  
Antiguo 08/11/2007, 11:08
Avatar de argalpalo  
Fecha de Ingreso: noviembre-2006
Mensajes: 35
Antigüedad: 17 años, 5 meses
Puntos: 0
Borrar completamente un select

Por favor, necesitaria una ayuda con lo siguiente:

Tengo el siguiente codigo javascript:
Código:
contents=new Array();

function TCN_addContent(str){
    contents.push(str);
    arrayValues = new Array();
    for(i=0;i<contents.length;i++){
        arrayValues[i]=contents[i].split(separator);
    }
}

function TCN_makeComboGroup(){
    comboGroup=new Array();
    args=TCN_makeComboGroup.arguments;
    for(i=0;i<args.length;i++){
        comboGroup[i]=MM_findObj(args[i]);
    }
}

function TCN_startCombo(){
    combo1=comboGroup[0];
    for (i=0;i<arrayValues.length;i++){
        existe=false;
        for(j=0;j<combo1.options.length;j++){
            if(arrayValues[i][0]==combo1.options[j].text){
                existe=true;
            }
        }
        if(existe==false){
            combo1.options[combo1.options.length]=new Option(arrayValues[i][0],arrayValues[i][1]);
        }//end if
    }//for(i)
    combo1.options[0].selected=true;
    TCN_reload(combo1);
}//function

function TCN_reload(from){
//averiguamos el indice del combo que llama:
    for(j=0;j<comboGroup.length;j++){
        if(comboGroup[j]==from){
            //el nuestro es el siguiente
            i=j+1;
            thisCombo=comboGroup[i];
            prevCombo=comboGroup[i-1];
            prevComboTextIndex=j*2;
            thisComboIndex=i;
            thisComboTextIndex=(i*2);
            thisComboValueIndex=(i*2)+1;
        }
    }
    for (m=thisCombo.options.length-1;m>=0;m--){
        thisCombo.options[m]=null;
    }
    for(i=0;i<arrayValues.length;i++){
        existe=false;
        if(arrayValues[i][prevComboTextIndex]==prevCombo.options[prevCombo.selectedIndex].text){
            for(j=0;j<thisCombo.options.length;j++){
                if(arrayValues[i][thisComboTextIndex]==thisCombo.options[j].text){
                    existe=true;
                }
            }
            if(existe==false){
                thisCombo.options[thisCombo.options.length]=new Option(arrayValues[i][thisComboTextIndex],arrayValues[i][thisComboValueIndex]);
            }
        }
    }
    thisCombo.options[0].selected=true;
    if(thisComboIndex<comboGroup.length-1){
        TCN_reload(thisCombo);
    }
}

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;
}
y esta es el html que lo utiliza

Código HTML:
<body>
<div id="dat2" style="display:none">TCN_addContent("Sudafrica,1,EE.UU,1");TCN_addContent("America,2,Argentina,2");TCN_addContent("Europa,3,R.Checa,1");TCN_addContent("Europa,3,Inglaterra,2");TCN_addContent("Europa,3,Yugolasvia,3");</div>
<div id="datos" style="display:none">TCN_addContent("America,1,EE.UU,1");TCN_addContent("America,2,Argentina,2");TCN_addContent("Europa,3,R.Checa,1");TCN_addContent("Europa,3,Inglaterra,2");TCN_addContent("Europa,3,Yugolasvia,3");</div>
<script language="JavaScript" type="text/JavaScript">
var separator=",";
var h = document.getElementById("dat2").innerHTML;
var h2 = document.getElementById("datos").innerHTML;
</script>
<form action="http://www.google.com" method="get" name="hola">
<select name="continente" style="width:150px" onChange="TCN_reload(this);">
</select>
<select name="pais" style="width:150px" onChange="TCN_reload (this);">
  <option selected>pais</option>
</select>
<input type="button" name="bot" id="bot" value="apretar" onClick="alert(document.getElementById('datos').innerHTML);"><input type="button" name="pablo2" id="pablo2" value="mandar" onClick="TCN_startCombo(eval(h2));">
<script language="JavaScript" type="text/JavaScript">
setTimeout("TCN_startCombo(eval(h));",3000);
TCN_makeComboGroup('continente','pais');
</script>
</form>

</body> 
Buena esto hace que funcionen unos select dependientes, el problema me surge cuando por medio de del boton "mandar" quiero que se cargue completamente desde 0 los select con los datos del otro div. Intente borrar el contenido de los select y luego cargando los valores del otro div, pero el problema es q cuando presiono el boton me lo carga con todo lo otro que estaba antes, osea, es q lo q estubo almacenado antes, queda dentro de una variable y seguramente esa es la q tengo q reiniciar y poner en 0.

Lo explico mas corto para q no se asustes. Necesito saber cual es la variable que almacena la informacion de realizar TCN_startCombo(eval(h2)); ya q esta tengo q reiniciar para q los valores del primer div desaparescan y asi poner los valores del nuevo div sin complicaciones. Gracias espero su respuesta, me seran de mucha ayuda.
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 21:12.