estoy teniendo problemas con un código...
voy a resaltar que cada fragmento de código esta encerrado en $(document).ready (jQuery)
Código
var select_country = document.getElementById('select_country'); var op_country = select_country.getElementsByTagName('option'); op_country[<?php echo($_POST['select_country']); ?>].selected = true; Change_Select_Ubication('select_country'); // Función AJAX que llama a un fichero.php // Después va a ejecutar estos otros códigos (pero para este punto todavía no terminó de completarse la función de arriba, la idea es que ejecute esto una vez que la función de arriba se complete del todo) var select_province = document.getElementById('select_province'); var op_province = select_province.getElementsByTagName('option'); op_province[<?php echo($_POST['select_province']); ?>].selected = true; Change_Select_Ubication('select_province'); // Después va a ejecutar la misma función pero con parametro diferente
Hasta ahora lo hago con un time out pero yo se que esto no es una buena manera de hacerlo.
Código
var select_country = document.getElementById('select_country'); var op_country = select_country.getElementsByTagName('option'); op_country[<?php echo($_POST['select_country']); ?>].selected = true; Change_Select_Ubication('select_country'); setTimeout(function() { var select_province = document.getElementById('select_province'); var op_province = select_province.getElementsByTagName('option'); op_province[<?php echo($_POST['select_province']); ?>].selected = true; Change_Select_Ubication('select_province'); }, 750);
Otra cosa que se me ocurrió era:
Código
var select_country = document.getElementById('select_country'); var op_country = select_country.getElementsByTagName('option'); op_country[<?php echo($_POST['select_country']); ?>].selected = true; var estado = Change_Select_Ubication('select_country'); if(estado == true) { var select_province = document.getElementById('select_province'); var op_province = select_province.getElementsByTagName('option'); op_province[<?php echo($_POST['select_province']); ?>].selected = true; Change_Select_Ubication('select_province'); }
la función es:
Código
function Change_Select_Ubication(select) { var select_country = document.getElementById('select_country').value; var select_province = document.getElementById('select_province').value; $.ajax({ url: 'ajax/x.php', type: 'POST', dataType: 'html', data: {select, select_country, select_province}, success: function() { $(document).ready(function() { return true; }); } }) .done(function(results) { $('body').append(results); }) }
Pero tampoco funciona ya que al momento de ejecutar la función lo que va a recibir esa variable va a ser "undefined" o en el caso de que ponga una variable más arriba con un valor = false y más abajo en la parte success la cambie por true y luego en la parte de abajo (abajo de todo) return variable; va a devolver false...
ya que al momento de asignarle el valor a esa variable no se completo la función lo que es igual a nada...
¿Alguna manera?