Я хотел бы использовать функцию each
в моем скрипте, но эта функция используется в объекте, что означает, что она возвращает ошибку ... Объект, который я хочу использовать each
, равен newPlots
.jQuery использовать каждый в объекте
Возможно, вы знаете трюк?
Я хочу добавить участки в newPlots
с помощью контента, полученного AJAX. В виде простого текста, newPlots выглядеть следующим образом:
var newPlots = {
"City" : {
x : 45.834444,
y : 1.261667,
text : {content : "City"},
tooltip : {content : "City"}
}
, "City2" : {
size:60,
x : 47.323056,
y : 5.041944,
text : {
content : "City",
position : "left",
margin : 5
}
}
}
И то, что я хочу сделать это с помощью функции each
в newPlots
.
Здесь вы можете найти свой код:
$.ajax({
type: "post",
url: '<?php echo $this->Url->build(array('controller'=>'Villes','action'=>'viewresult')); ?>',
data: {
departements: dptcode
},
dataType : "json",
success: function (ret) {
// Update some plots and areas attributes ...
var updatedOptions = {'plots' : {}};
// add some new plots ..
var newPlots = {
$.each(ret, function(index, element) {
"Limoge" : {
x : element.x,
y : element.y,
text : {content : "Limoge"},
tooltip : {content : "Limoge"}
},
});
}
// and delete some others ...
var deletedPlots = [];
$(".mapcontainer").trigger('update', [updatedOptions, newPlots, deletedPlots, {animDuration : 1000}]);
},
error : function(xhr, textStatus, errorThrown) {
alert('An error occurred! ' + errorThrown);
}
});
Это не работает ... – FabriceDouceur
Так bascically, вы хотите, чтобы получить массив объектов ??? Ваш код не имеет смысла и потому, что вы не объясняете, каково ваше ожидаемое поведение, трудно понять его ... –
Измените его на -> var newPlots = $ .map (ret, function (index, элемент) {возвращение "Limoge": { х: element.x, у: element.y, текст: {содержание: "Limoge"}, подсказка: {содержание: "Limoge"}} }); – Amir