Go through values of a JSON [duplicate]

1

Through jQuery I am making a call to a select to bring populations from a province and to be able to fill a selection depending on the province chosen.

At the moment I get it right, but I can not get the values that the array brings me.

[{"nombre":" Abla"},{"nombre":" Abrucena"},{"nombre":" Adra"},{"nombre":" Alb\u00e1nchez"},{"nombre" :" Alboloduy"},{"nombre":" Albox"},{"nombre":" Alcolea"},{"nombre":" Alc\u00f3ntar"},{"nombre":" Alcudia de Monteagud"},{"nombre":" Alhabia"},{"nombre":" Alhama de Almer\u00eda"},{"nombre":" Alic\u00fan"} ,{"nombre":" Almer\u00eda"},{"nombre":" Alm\u00f3cita\t"},{"nombre":"Alsodux"},{"nombre":" Antas"},{"nombre" :" Arboleas"},{"nombre":" Armu\u00f1a de Almanzora\t"},{"nombre":" Bacares"},{"nombre":" Bay\u00e1rcal" },{"nombre":" Bayarque"},{"nombre":" B\u00e9dar"},{"nombre":" Beires"},{"nombre":" Benahadux"},{"nombre" :" Benitagla"},{"nombre":" Benizal\u00f3n"},{"nombre":" Bentarique"},{"nombre":" Berja"},{"nombre":" Canj\u00e1yar"},{"nombre":" Cantoria"},{"nombre":" Carboneras"},{"nombre":" Castro de Filabres"},{"nombre" :" Chercos"},{"nombre":" Chirivel"},{"nombre":" C\u00f3bdar"},{"nombre":" Cuevas del Almanzora"},{"nombre" :" Dal\u00edas"},{"nombre":" Ejido El"},{"nombre":" Enix"},{"nombre":" Felix"},{"nombre":" Fines"},{"nombre" :" Fi\u00f1ana"},{"nombre":" Fond\u00f3n"},{"nombre":" G\u00e1dor"},{"nombre":" Gallardos Los"},{"nombre" :" Garrucha"},{"nombre":" G\u00e9rgal"},{"nombre":" Hu\u00e9cija"},{"nombre":" Hu\u00e9rcal de Almer \u00eda"},{"nombre":" Hu\u00e9rcal-Overa"},{"nombre":" Illar"},{"nombre":" Instinci\u00f3n"},{"nombre" :" Laroya"},{"nombre":" L\u00e1ujar de Andarax"},{"nombre":" L\u00edjar"},{"nombre":" Lubr\u00edn"}, {"nombre":" Lucainena de las Torres"},{"nombre":" L\u00facar"},{"nombre":" Macael"},{"nombre":" Mar\u00eda" },{"nombre":" Moj\u00e1car"},{"nombre":" Mojonera La"},{"nombre":" Nacimiento"},{"nombre":" N\u00edjar \t"},{"nombre":" Ohanes\t"},{"nombre":" Olula de Castro\t"},{"nombre":" Olula del R\u00edo\t"},{"nombre" :" Oria\t"},{"nombre":" Padules\t"},{"nombre":" Partaloa\t"},{"nombre":" Paterna del R\u00edo\t"},{"nombre" :"Rioja\t"},{"nombre":"Roquetas de Mar\t"},{"nombre":"Santa Cruz de Marchena\t"},{"nombre":"Santa Fe de Mond\u00fajar\t"},{"nombre":"Sen\u00e9s\t"},{"nombre":"Ser\u00f3n\t"},{"nombre":"Sierro\t"},{"nombre" :"Somont\u00edn\t"},{"nombre":"Sorbas\t"},{"nombre":"Sufl\u00ed\t"},{"nombre":"Tabernas\t"},{"nombre" :"Taberno\t"},{"nombre":"Tahal\t"},{"nombre":"Terque\t"},{"nombre":"T\u00edjola\t"},{"nombre":"Tres Villas Las\t"},{"nombre":"Turre\t"},{"nombre":"Turrillas\t"},{"nombre":"Uleila del Campo\t"},{"nombre":"Urr \u00e1cal\t"},{"nombre":"Velefique\t"},{"nombre":"V\u00e9lez-Blanco\t"},{"nombre":"V\u00e9lez-Rubio\t" },{"nombre":"Vera\t"},{"nombre":"Viator\t"},{"nombre":"V\u00edcar\t"},{"nombre":"Zurgena\t"}]

How could I get those names by jquery or javascript that I have given a thousand times and I can not get it?

I add the code:

HTML with javascript:

<script language="JavaScript" type="text/javascript">
	function localidades(){		
		var provincia = $("#id_provincia").val();
		var params = {
			"provincia" : provincia		
		};				
		$.ajax({
			data:params,
			url:'idLocalidades.php',
			type:'post',			
			success: function(response){								
				//Rellenamos el select con las localidades de la provincia elegida
				
				$.each(response,function(index, data){
					$('#id_localidad').html(response.nombre);
				});

				
			}
		});
	}
</script>



<div class="form-group">
        		<div class="col-lg-1"><span class="pull-right">{include file="controllers/products/multishop/checkbox.tpl" field="id_localidad" type="default"}</span></div>
        		<label class="control-label col-lg-2" for="Localidad">
            		{l s='Localidad'}
        		</label>
        		<div class="col-lg-3">
            		<select name="slocalidad" id="localidad" onfocus="localidades();">
            		{foreach $localidades as $item}
                		<option id="s_localidad" name="s_localidad" value="{$item['nombre']}">{$item['nombre']}</option>               
            		{/foreach}           
            		</select>
        		</div>
        		<div> 
        			<div id="id_localidad"></div>
        		</div>       
    		</div>

PHP:

<?php
	include '../config/settings.inc.php';
	include '../config/defines.inc.php';
	include '../config/config.inc.php';
	

	$variable= $_POST["provincia"];
	$query = "SELECT nombre FROM ps_localidades WHERE id_provincia='" . $variable . "'";	
	$id = Db::getInstance()->executeS($query);

	echo json_encode($id);


?>

This is what I find in the console:

    
asked by jandresplp 14.10.2016 в 11:12
source

2 answers

1

In jQuery you can use the $ .each

feature

var poblacion = [{"nombre":" Abla"},{"nombre":" Abrucena"},{"nombre":" Adra"},{"nombre":" Alb\u00e1nchez"},{"nombre" :" Alboloduy"},{"nombre":" Albox"},{"nombre":" Alcolea"},{"nombre":" Alc\u00f3ntar"},{"nombre":" Alcudia  de Monteagud"},{"nombre":" Alhabia"},{"nombre":" Alhama de Almer\u00eda"},{"nombre":" Alic\u00fan"} ,{"nombre":" Almer\u00eda"},{"nombre":" Alm\u00f3cita\t"},{"nombre":"Alsodux"},{"nombre":" Antas"},{"nombre" :" Arboleas"},{"nombre":" Armu\u00f1a de Almanzora\t"},{"nombre":" Bacares"},{"nombre":" Bay\u00e1rcal" },{"nombre":" Bayarque"},{"nombre":" B\u00e9dar"},{"nombre":" Beires"},{"nombre":" Benahadux"},{"nombre" :" Benitagla"},{"nombre":" Benizal\u00f3n"},{"nombre":" Bentarique"},{"nombre":" Berja"},{"nombre":"  Canj\u00e1yar"},{"nombre":" Cantoria"},{"nombre":" Carboneras"},{"nombre":" Castro de Filabres"},{"nombre" :" Chercos"},{"nombre":" Chirivel"},{"nombre":" C\u00f3bdar"},{"nombre":" Cuevas del Almanzora"},{"nombre" :" Dal\u00edas"},{"nombre":" Ejido El"},{"nombre":" Enix"},{"nombre":" Felix"},{"nombre":" Fines"},{"nombre" :" Fi\u00f1ana"},{"nombre":" Fond\u00f3n"},{"nombre":" G\u00e1dor"},{"nombre":" Gallardos Los"},{"nombre" :" Garrucha"},{"nombre":" G\u00e9rgal"},{"nombre":" Hu\u00e9cija"},{"nombre":" Hu\u00e9rcal de Almer \u00eda"},{"nombre":" Hu\u00e9rcal-Overa"},{"nombre":" Illar"},{"nombre":" Instinci\u00f3n"},{"nombre" :" Laroya"},{"nombre":" L\u00e1ujar de Andarax"},{"nombre":" L\u00edjar"},{"nombre":" Lubr\u00edn"}, {"nombre":" Lucainena de las Torres"},{"nombre":" L\u00facar"},{"nombre":" Macael"},{"nombre":" Mar\u00eda" },{"nombre":" Moj\u00e1car"},{"nombre":" Mojonera La"},{"nombre":" Nacimiento"},{"nombre":" N\u00edjar \t"},{"nombre":" Ohanes\t"},{"nombre":" Olula de Castro\t"},{"nombre":" Olula del R\u00edo\t"},{"nombre" :" Oria\t"},{"nombre":" Padules\t"},{"nombre":" Partaloa\t"},{"nombre":" Paterna del R\u00edo\t"},{"nombre" :"Rioja\t"},{"nombre":"Roquetas de Mar\t"},{"nombre":"Santa Cruz de Marchena\t"},{"nombre":"Santa Fe  de Mond\u00fajar\t"},{"nombre":"Sen\u00e9s\t"},{"nombre":"Ser\u00f3n\t"},{"nombre":"Sierro\t"},{"nombre" :"Somont\u00edn\t"},{"nombre":"Sorbas\t"},{"nombre":"Sufl\u00ed\t"},{"nombre":"Tabernas\t"},{"nombre" :"Taberno\t"},{"nombre":"Tahal\t"},{"nombre":"Terque\t"},{"nombre":"T\u00edjola\t"},{"nombre":"Tres Villas  Las\t"},{"nombre":"Turre\t"},{"nombre":"Turrillas\t"},{"nombre":"Uleila del Campo\t"},{"nombre":"Urr \u00e1cal\t"},{"nombre":"Velefique\t"},{"nombre":"V\u00e9lez-Blanco\t"},{"nombre":"V\u00e9lez-Rubio\t" },{"nombre":"Vera\t"},{"nombre":"Viator\t"},{"nombre":"V\u00edcar\t"},{"nombre":"Zurgena\t"}];
var output = '';

$.each(poblacion, function(index, data) {  
  output += '<li>' + data.nombre + '</li>';  
});

$('ul').html(output);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<ul></ul>

EDIT

After viewing your code you can fix it like this:

$.ajax({
    data:params,
    url:'idLocalidades.php',
    type:'post',
    dataType: 'json', // AÑADE EL TIPO DE DATOS QUE VAYAS RECIBIR           
    success: function(response){                                

        var output = '';

        $.each(response, function(index, data){
          output += data.nombre + '<br>';
        });

        $('#id_localidad').html(output);    
    }
});
    
answered by 14.10.2016 / 11:47
source
1

var data = [{"nombre":" Abla"},{"nombre":" Abrucena"},{"nombre":" Adra"},{"nombre":" Alb\u00e1nchez"},{"nombre" :" Alboloduy"},{"nombre":" Albox"},{"nombre":" Alcolea"},{"nombre":" Alc\u00f3ntar"},{"nombre":" Alcudia de Monteagud"},{"nombre":" Alhabia"},{"nombre":" Alhama de Almer\u00eda"},{"nombre":" Alic\u00fan"} ,{"nombre":" Almer\u00eda"},{"nombre":" Alm\u00f3cita\t"},{"nombre":"Alsodux"},{"nombre":" Antas"},{"nombre" :" Arboleas"},{"nombre":" Armu\u00f1a de Almanzora\t"},{"nombre":" Bacares"},{"nombre":" Bay\u00e1rcal" },{"nombre":" Bayarque"},{"nombre":" B\u00e9dar"},{"nombre":" Beires"},{"nombre":" Benahadux"},{"nombre" :" Benitagla"},{"nombre":" Benizal\u00f3n"},{"nombre":" Bentarique"},{"nombre":" Berja"},{"nombre":" Canj\u00e1yar"},{"nombre":" Cantoria"},{"nombre":" Carboneras"},{"nombre":" Castro de Filabres"},{"nombre" :" Chercos"},{"nombre":" Chirivel"},{"nombre":" C\u00f3bdar"},{"nombre":" Cuevas del Almanzora"},{"nombre" :" Dal\u00edas"},{"nombre":" Ejido El"},{"nombre":" Enix"},{"nombre":" Felix"},{"nombre":" Fines"},{"nombre" :" Fi\u00f1ana"},{"nombre":" Fond\u00f3n"},{"nombre":" G\u00e1dor"},{"nombre":" Gallardos Los"},{"nombre" :" Garrucha"},{"nombre":" G\u00e9rgal"},{"nombre":" Hu\u00e9cija"},{"nombre":" Hu\u00e9rcal de Almer \u00eda"},{"nombre":" Hu\u00e9rcal-Overa"},{"nombre":" Illar"},{"nombre":" Instinci\u00f3n"},{"nombre" :" Laroya"},{"nombre":" L\u00e1ujar de Andarax"},{"nombre":" L\u00edjar"},{"nombre":" Lubr\u00edn"}, {"nombre":" Lucainena de las Torres"},{"nombre":" L\u00facar"},{"nombre":" Macael"},{"nombre":" Mar\u00eda" },{"nombre":" Moj\u00e1car"},{"nombre":" Mojonera La"},{"nombre":" Nacimiento"},{"nombre":" N\u00edjar \t"},{"nombre":" Ohanes\t"},{"nombre":" Olula de Castro\t"},{"nombre":" Olula del R\u00edo\t"},{"nombre" :" Oria\t"},{"nombre":" Padules\t"},{"nombre":" Partaloa\t"},{"nombre":" Paterna del R\u00edo\t"},{"nombre" :"Rioja\t"},{"nombre":"Roquetas de Mar\t"},{"nombre":"Santa Cruz de Marchena\t"},{"nombre":"Santa Fe de Mond\u00fajar\t"},{"nombre":"Sen\u00e9s\t"},{"nombre":"Ser\u00f3n\t"},{"nombre":"Sierro\t"},{"nombre" :"Somont\u00edn\t"},{"nombre":"Sorbas\t"},{"nombre":"Sufl\u00ed\t"},{"nombre":"Tabernas\t"},{"nombre" :"Taberno\t"},{"nombre":"Tahal\t"},{"nombre":"Terque\t"},{"nombre":"T\u00edjola\t"},{"nombre":"Tres Villas Las\t"},{"nombre":"Turre\t"},{"nombre":"Turrillas\t"},{"nombre":"Uleila del Campo\t"},{"nombre":"Urr \u00e1cal\t"},{"nombre":"Velefique\t"},{"nombre":"V\u00e9lez-Blanco\t"},{"nombre":"V\u00e9lez-Rubio\t" },{"nombre":"Vera\t"},{"nombre":"Viator\t"},{"nombre":"V\u00edcar\t"},{"nombre":"Zurgena\t"}];

for (var i=0; i<data.length; i++) {
    var value = data[i].nombre;
    //TODO: Manipula los datos aqui
    console.log(value);
}
    
answered by 14.10.2016 в 11:37