I need some help regarding jquery arrays.
var queryArr;
$(markersArray).each(function(index) {
var _locationId = index;
var _locName = markersArray[index].name;
var _markerLat = markersArray[index].marker.getLatLng().lat();
var _markerLng = markersArray[index].marker.getLatLng().lng();
//I DO NOT KNOW THE SYNTAX BELOW HELP IN HERE PLEASE..
var locations = {
locationId:_locationId;
locationName:_locName,
lat:_markerLat,
lng:_markerLng }
queryStr = { "locations": locations} //??????????
});
queryArr.push(location); //???????
}
I need to reach each element by using sth like this:
alert(queryArr[0].locations.locationId);
Obviously I will be using a for loop to reach each data by an index.
Can anyone give me example syntax for this.. I have found plenty examples of fixed arrays but not dynamic content.
3 Answers 3
You're very close. The line with push needs to be moved inside the .each() loop and you need to use queryStr for the push. Make sure you don't have any other syntax errors like missing semicolons.
queryArr.push(queryStr);
Here's your example:
var queryArr = [];
$(markersArray).each(function(index) {
var _locationId = index;
var _locName = markersArray[index].name;
var _markerLat = markersArray[index].marker.getLatLng().lat();
var _markerLng = markersArray[index].marker.getLatLng().lng();
var locations = {
"locationId" :_locationId;
"locationName" :_locName,
"lat" :_markerLat,
"lng" :_markerLng
};
queryStr = { "locations" : locations };
queryArr.push(queryStr);
});
answered Oct 25, 2010 at 4:10
Rebecca Chernoff
22.7k5 gold badges47 silver badges46 bronze badges
Sign up to request clarification or add additional context in comments.
4 Comments
cambraca
and that line needs to go inside the "each" function
Rebecca Chernoff
@cambraca, Whoops, missed that in the weird indenting/formatting. Will edit, thanks.
Ozlem
not really, it still does not work. I know syntax is not correct that is why I am asking an example that will show a syntax format. I have edited the } in the question. it was just a copy paste mistake. but thanks for warning. any more help :)
Ozlem
thanks guys...especially rchern. I add var queryArr=[]; and corrected the queryArr.push(queryStr); mistake.. and it works now..million thanks.
var elements = document.getElementsByTagName("div"); // returns a nodeList
var array = jQuery.makeArray(elements );
$(array ).appendTo(document.body);
or like
var object = $('li');
var array = $.makeArray(object);
Comments
var queryArr=[];
for ( var index=0; index<markersArray.length; index++){
var _locationId = index;
var _locName = markersArray[index].name;
var _markerLat = markersArray[index].marker.getLatLng().lat();
var _markerLng = markersArray[index].marker.getLatLng().lng();
var locations = {
locationId:_locationId,
locationName:_locName,
lat:_markerLat,
lng:_markerLng }
queryStr = { "locations": locations}
queryArr.push(queryStr);
}
//test - works:)
for ( var i=0; i<markersArray.length; i++){
alert(
queryArr[i].locations.locationId+"--"+
queryArr[i].locations.locationName +"--"+
queryArr[i].locations.lat);
}
Warface
5,13910 gold badges59 silver badges83 bronze badges
Comments
lang-js