Llevo varios días tratando de resolver esto y hasta el momento me sigue ganando.
Les comento…tengo do ventana modal una que ingresa los datos en la BD y otra que toma los datos para editarlos y actualizarlo, el tema es que tengo un select anidado tipo banco-numero de cuenta que no he podido llenarlo comparando el valor con el valor insertado en la BD.
Publico un poco de código para que se hagan una idea más clara:
llamo el modal desde una tabla dinamica generada con los datos previamente ingresados.
Código PHP:
<li style='font-size:12px;'><a href='' data-toggle="modal" data-target="#dataUpdate" title='Editar'
data-id="<?php echo $id; ?>"
data-emp_e="<?php echo utf8_encode($rut); ?>"
data-rut_cheque_e="<?php echo $rut; ?>"
data-banco_e="<?php echo utf8_encode($banco); ?>"
data-cta_e="<?php echo utf8_encode($cta); ?>"
data-n_cuenta_e="<?php echo utf8_encode($cta); ?>"
data-n_cheque_e="<?php echo utf8_encode($n_cheque); ?>"
data-mont_cheque_e="<?php echo utf8_encode($monto); ?>"
data-emp_comp_e="<?php echo utf8_encode($emp_comp_e); ?>"
data-num_fb_comp_e="<?php echo utf8_encode($num_fb_comp_e); ?>"
data-rut_comp_e="<?php echo utf8_encode($rut_comp_e); ?>"
data-fon_comp_e="<?php echo utf8_encode($fon_comp_e); ?>"
data-dir_comp_e="<?php echo utf8_encode($dir_comp_e); ?>"
data-mail_comp_e="<?php echo utf8_encode($mail_comp_e); ?>"
data-detalle_comp_e="<?php echo utf8_encode($detalle_comp_e); ?>"
data-fech_comp_e="<?php echo $fech_compe; ?>"
data-fech_ven_comp_e="<?php echo $fech_ven_compe; ?>"
><i class='glyphicon glyphicon-edit'></i> Editar</a></li>
Código PHP:
$('#dataUpdate').on('show.bs.modal', function (event) {
var button = $(event.relatedTarget) // Botón que activó el modal
var id = button.data('id') // Extraer la información de atributos de datos
var emp_e = button.data('emp_e')
var rut_cheque_e = button.data('rut_cheque_e')
var banco_e = button.data('banco_e')
var cta_e = button.data('cta_e')
var n_cuenta_e = button.data('n_cuenta_e')
var n_cheque_e = button.data('n_cheque_e')
var mont_cheque_e = button.data('mont_cheque_e')
var emp_comp_e = button.data('emp_comp_e')
var num_fb_comp_e = button.data('num_fb_comp_e')
var rut_comp_e = button.data('rut_comp_e')
var fon_comp_e = button.data('fon_comp_e')
var dir_comp_e = button.data('dir_comp_e')
var mail_comp_e = button.data('mail_comp_e')
var detalle_comp_e = button.data('detalle_comp_e')
var fech_comp_e = button.data('fech_comp_e')
var fech_ven_comp_e = button.data('fech_ven_comp_e')
var modal = $(this)
modal.find('.modal-body #id').val(id)
modal.find('.modal-body #emp_e').val(emp_e)
modal.find('.modal-body #rut_cheque_e').val(rut_cheque_e)
modal.find('.modal-body #banco_e').val(banco_e)
modal.find('.modal-body #cta_e').val(cta_e)
modal.find('.modal-body #n_cuenta_e').val(n_cuenta_e)
modal.find('.modal-title').text('Editar Cheque N\u00B0 '+n_cheque_e)
modal.find('.modal-body #n_cheque_e').val(n_cheque_e)
modal.find('.modal-body #mont_cheque_e').val(mont_cheque_e)
modal.find('.modal-body #emp_comp_e').val(emp_comp_e)
modal.find('.modal-body #num_fb_comp_e').val(num_fb_comp_e)
modal.find('.modal-body #rut_comp_e').val(rut_comp_e)
modal.find('.modal-body #fon_comp_e').val(fon_comp_e)
modal.find('.modal-body #dir_comp_e').val(dir_comp_e)
modal.find('.modal-body #mail_comp_e').val(mail_comp_e)
modal.find('.modal-body #detalle_comp_e').val(detalle_comp_e)
modal.find('.modal-body #fech_comp_e').val(fech_comp_e)
modal.find('.modal-body #fech_ven_comp_e').val(fech_ven_comp_e)
$('.alert').hide();//Oculto alert
load(1);
})
Código PHP:
$select_empresa_e = "<select name='emp_e' id='emp_e' onChange='busca_emp_e(this.value);muestra_rut_cta_e();muestra_num_cta_e();' class='form-control'>
<option value='0'>Seleccione...</option>";
$consult2_e = $cnn->prepare("SELECT * FROM empresa order by id asc");
$consult2_e->execute();
$resultado_e = $consult2_e->fetchAll();
if ($resultado_e){
foreach ($resultado_e as $res_e) {
$texto_e=$res_e['nom_empresa']; //este va a ser el texto de la opcion
$valor_e=$res_e['rut']; // Este sera el value de la opcion
//$ind_emp_e = isset($_GET['ind_emp']) ? $_GET['ind_emp'] : null ;
/*if($ind_rut_e == $valor_e){
$selected_e = "selected";
}else{
$selected_e = "";
}*/
$select_empresa_e.= "<option value=".$valor_e." >".utf8_encode($texto_e)."</option>\n";
}
$select_empresa_e.= "</select>";
}
$select_cta_e = "<select name='cta_e' id='cta_e' class='form-control' onchange='muestra_num_cta_e()' disabled='disabled'>
<option value='0'>Seleccione...</option>";
$consult2_e = $cnn->prepare("SELECT * FROM cta_cte order by id asc");
$consult2_e->execute();
$resultado_e = $consult2_e->fetchAll();
if ($resultado_e){
foreach ($resultado_e as $res_e) {
//$valor_e2=$res_e['id'];
$texto_e=$res_e['nom_banco'];
$valor_e=$res_e['cta'];
//$texto_e2=$res_e['rut'];
//$ind_cta_e = isset($_GET['ind_cta']) ? $_GET['ind_cta'] : null ;
/*if($ind_cta_e == $valor_e){
$selected_e = "selected";
}else{
$selected_e = "";}*/
$select_cta_e.= "<option value='".$valor_e."' >".utf8_encode($texto_e)."</option>\n";
}
$select_cta_e.= "</select>";
Código HTML:
<label>Empresa</label> <?php echo $select_empresa_e; ?> <label>Banco</label> <div id="div_cta_e"><?php echo $select_cta_e; ?></div></select>