我有JS代码的一些问题。当我与对象阵列我的代码工作正常,但是当我在()这是行不通的。此代码工作的良好javascript obj vs jQuery
$(window).load(function() {
var map = new YMaps.Map(document.getElementById("YMapsID"));
map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
map.addControl(new locationSearchBox());
projects = [{Lat: "lat", Lng: "lng", Address: "address", label: "фывафыва"},
{Lat: "lat", Lng: "lng", Address: "address", label: "авыва"},
{Lat: "lat", Lng: "lng", Address: "address", label: "аваы"},
{Lat: "lat", Lng: "lng", Address: "address", label: "фываl"}];
console.log(projects);
$("#project").autocomplete({
minLength: 0,
source: projects,
focus: function(event, ui) {
$("#project").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#project").val(ui.item.label);
map.removeAllOverlays();
var point = new YMaps.GeoPoint(ui.item.Lng, ui.item.Lat);
var placemark = new YMaps.Placemark(point);
placemark.name = ui.item.label;
placemark.description = ui.item.Address;
map.addOverlay(placemark);
map.panTo(point, {flying: 1});
return false;
}
})
.data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
这个人是不行的=(
$(window).load(function() {
var map = new YMaps.Map(document.getElementById("YMapsID"));
map.setCenter(new YMaps.GeoPoint(37.64, 55.76), 10);
map.addControl(new locationSearchBox());
$.get("data.php",
function(data){
for (var i = 0; i < 4; i++) {
projects.push({Lat: data[i][0], label: data[i][1], Lng: data[i][3], Address: data[i][2]});
}
}, "json");
console.log(projects);
$("#project").autocomplete({
minLength: 0,
source: projects,
focus: function(event, ui) {
$("#project").val(ui.item.label);
return false;
},
select: function(event, ui) {
$("#project").val(ui.item.label);
map.removeAllOverlays();
var point = new YMaps.GeoPoint(ui.item.Lng, ui.item.Lat);
var placemark = new YMaps.Placemark(point);
placemark.name = ui.item.label;
placemark.description = ui.item.Address;
map.addOverlay(placemark);
map.panTo(point, {flying: 1});
return false;
}
})
.data("autocomplete")._renderItem = function(ul, item) {
return $("<li></li>")
.data("item.autocomplete", item)
.append("<a>" + item.label + "</a>")
.appendTo(ul);
};
谁能帮我
谢谢,迪马
什么是 '数据' 包含您在第二个样本中的调试?它是填充还是在你进入for循环之前的问题? - 编辑:另外,我认为你应该声明你的项目变量为项目= [];在第二个例子中,为了确保JS知道它是一个数组,并且能够与您正在使用的.push一起工作,我并不是100%确定它需要它,但它不会受到伤害。 – dougajmcdonald 2012-03-17 13:45:19
错误讯息?你需要告诉我们数据对象是什么样的。 – joakimdahlstrom 2012-03-17 13:48:31