Foros del Web » Programando para Internet » Javascript »

Cambiar el value de un combo box

Estas en el tema de Cambiar el value de un combo box en el foro de Javascript en Foros del Web. hola. tengo un combo box que carga una lista de una base de datos y esta me trae en el indice un campo compuesto (osea ...
  #1 (permalink)  
Antiguo 03/06/2011, 13:44
 
Fecha de Ingreso: septiembre-2010
Mensajes: 29
Antigüedad: 13 años, 6 meses
Puntos: 0
Cambiar el value de un combo box

hola.

tengo un combo box que carga una lista de una base de datos y esta me trae en el indice un campo compuesto (osea trae dos valores en uno). por ejemplo:

102#47-03 donde el caracter " # " separa a los dos valores.

Aquí el código del combo que me trae la lista desde la base.

<td colspan="3"><select name="cmb_discoactivo[]" id="cmb_discoactivo" class="ComboGrid" onchange="dependencia_detalleEquipo()" <?php if ($frmProceso=='CON') { echo 'disabled="true"'; } ?> ><option value="">* Seleccionar *</option>
<?php
if (isset ($list_discoactivo)) {
foreach ($list_discoactivo as $ind => $valor) {
$selected = (($discoactivo[0] == $ind ) ? 'selected' : '');
echo "<option value='" . $ind . "' $selected >" . $valor . "</option>";
}
}
?>
</select></td>

la función:

onchange="dependencia_detalleEquipo()"

me extrae el primer valor de value del combo x ejemplo:
me extrae el 102 de 102#47-03.

function dependencia_detalleEquipo() {
try{
var e = document.getElementById("cmb_discoactivo").value;
arre = e.split('#');
idactivo = arre[0];
document.getElementById("cmb_discoactivo").value = arre[1];
$.post('manmrco0101.php',{hid_idactivo: idactivo},
function(respuesta)
{
// coloca el contenido de la variable 'respuesta' dentro del div que tiene id="resultado"
$('#div_resultado').html(respuesta);
});
}catch(e){alert(e);}
}

Ahora al momento de hacer post al formulario el value del combo esta enviando el valor 102#47-03. Y lo que necesito es enviar solo el 47-03.
En la siguiente linea de la función trato de cambiar el value del combo sin exito.

document.getElementById("cmb_discoactivo").value = arre[1];

Si alguien sabe como hacerlo le agradezco de antemano.
  #2 (permalink)  
Antiguo 03/06/2011, 14:06
 
Fecha de Ingreso: julio-2010
Mensajes: 43
Antigüedad: 13 años, 9 meses
Puntos: 3
Respuesta: Cambiar el value de un combo box

Ok mira hay una función que no es como el split pero esta tiene la evntaja que te regresa el resultado como un arreglo preg_split()
http://www.php.net/manual/en/function.preg-split.php
  #3 (permalink)  
Antiguo 03/06/2011, 14:11
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Cambiar el value de un combo box

No puedes cambiar el valor de un combo así, lo que tienes que indicar es cuál de sus opciones estará seleccionada:
document.getElementById("cmb_discoactivo").options[x].selected=true;
Si vas a colocar un valor que no estaba dentro de las opciones iniciales, deberás agregar dicha opción:
document.getElementById("cmb_discoactivo").length+ +;
document.getElementById("cmb_discoactivo").options[x].value='valornuevo';
document.getElementById("cmb_discoactivo").options[x].text='valornuevo';

Última edición por ocp001a; 03/06/2011 a las 14:16
  #4 (permalink)  
Antiguo 03/06/2011, 15:49
 
Fecha de Ingreso: septiembre-2010
Mensajes: 29
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Cambiar el value de un combo box

Ya lo resolvi de otra manera gracias de todas formas.

Etiquetas: box, combo, php
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 17:07.