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);
};
このコード作業は、この1は
$(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ループに入る前に、それが人口になっているのか、それとも問題になっていますか? - 編集:また、私はあなたがプロジェクト= []としてあなたのプロジェクトの変数を宣言する必要がありますと思います。 2番目の例では、JSが配列であり、使用している.pushでうまく動作することをJSが認識していることを確実にするために、私はそれが必要であると100%確信していませんが、 – dougajmcdonald
エラーメッセージ?データオブジェクトの外観を教えてください。 – joakimdahlstrom