Foros del Web » Programando para Internet » Javascript »

Como quitar Datos de Combos de Seleccionados

Estas en el tema de Como quitar Datos de Combos de Seleccionados en el foro de Javascript en Foros del Web. Buenas, tengo una consulta, tengo tres combos llamados Mineral Principal, porque tienen los mismos valores en los combos, solo que tengo que hacer que al ...
  #1 (permalink)  
Antiguo 05/10/2012, 15:25
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Pregunta Como quitar Datos de Combos de Seleccionados

Buenas, tengo una consulta, tengo tres combos llamados Mineral Principal, porque tienen los mismos valores en los combos, solo que tengo que hacer que al momento de seleccionar el primer combo, el segundo lo pueda quitar de esa lista ese valor que seleccione en el primer combo, y asi consecutivamente en el tercero (con dos valores quitados), alguien sabe puede sugerir, me dijeron que use javascript.
  #2 (permalink)  
Antiguo 05/10/2012, 15:56
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Como quitar Datos de Combos de Seleccionados

prueba con este
Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
select{
width:10em;
}
</style>
<script type="text/javascript">
function getElement(elElemento) {
return document.getElementById(elElemento);
}

var steps = [];
var cache = function(){
return{
append: function(item){
return steps.push(item);
},

undo: function(indx){
return steps.splice(indx,1);
}
}}();


function delOption(select){
var itemCache = [], combo, lista_elementos = '';
for(var i = 0; combo = select.form.elements[select.name][i]; i++){
if(combo === select) continue;
for(var j = 0; combo.options[j]; j++) if(select.value == combo.options[j].value){
if (combo.options[j].selected) {combo.options[j].selected = ''}
itemCache.push({owner: combo, index: combo.options[j].index, option: combo.removeChild(combo.options[j]), valor: select.value});
break;
}
}

if(itemCache.length) {cache.append(itemCache);} // add only if not empty;

for (var i = 0; i < steps.length; i++) {
lista_elementos += '<li>' + steps[i][0].valor + ' <a class="restaurar" href="#" onclick="restore(cache.undo('+i+'));return false;">x</a></li>';
}

getElement('listaEliminados').innerHTML = lista_elementos;
}


function restore(item){
var lista_elementos = '';
while (item[0].length){
var object = item[0].shift();
object.owner.add(object.option, object.owner.options[object.index]);
}

for (var i = 0; i < steps.length; i++) {
lista_elementos += '<li>' + steps[i][0].valor + ' <a class="restaurar" href="#" onclick="restore(cache.undo('+i+'));return false;">x</a></li>';
}

getElement('listaEliminados').innerHTML = lista_elementos;
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
<select id="regalo_1" name="regalo[]" size="10" onchange="delOption(this)">
<option value="">Regalo para Ti</option>
<option value="Moto">Moto</option>
<option value="Coche">Coche</option>
<option value="Barco">Barco</option>
<option value="Bicicleta">Bicicleta</option>
</select>

<select id="regalo_2" name="regalo[]" size="10" onchange="delOption(this)">
<option value="">Regalo para Padres</option>
<option value="Coche">Coche</option>
<option value="Casa">Casa</option>
<option value="Viaje">Viaje</option>
<option value="Moto">Moto</option>
</select>

<select id="regalo_3" name="regalo[]" size="10" onchange="delOption(this)">
<option value="">Regalo para Hermanos</option>
<option value="Consola">Consola</option>
<option value="Bicicleta">Bicicleta</option>
<option value="Moto">Moto</option>
<option value="Mp4">Mp4</option>
</select>

<ul id="listaEliminados"></ul>
</form>
</body>
</html>
__________________
if(ViolenciaDeGénero) {alert('MUJER ASESINADA');}
  #3 (permalink)  
Antiguo 05/10/2012, 16:44
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Respuesta: Como quitar Datos de Combos de Seleccionados

Ok gracias por el dato.
  #4 (permalink)  
Antiguo 09/10/2012, 11:17
Avatar de Sumerio  
Fecha de Ingreso: octubre-2009
Mensajes: 195
Antigüedad: 14 años, 6 meses
Puntos: 6
Pregunta Respuesta: Como quitar Datos de Combos de Seleccionados

Hola una consulta, y como haria sin usar el option, yo no utilizo el option para cargar los valores estaticos de un combo, yo utilizo struts 2 como framework en java, y lo tengo asi:

<s:select id="map_localidad1" name="beans.idLocalidad1" list="map.localidadesList1" class="ux-combo" headerKey="" headerValue="-- Seleccione --" listKey="ID" listValue="DESCRIPCION" onchange="delOption(this)"/>

<s:select id="map_localidad2" name="beans.idLocalidad2" list="map.localidadesList2" class="ux-combo" headerKey="" headerValue="-- Seleccione --" listKey="ID" listValue="DESCRIPCION" onchange="delOption(this)"/>

<s:select id="map_localidad3" name="beans.idLocalidad3" list="map.localidadesList3" class="ux-combo" headerKey="" headerValue="-- Seleccione --" listKey="ID" listValue="DESCRIPCION" onchange="delOption(this)"/>

Etiquetas: combos, seleccionados
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 07:46.