我有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