Google지도의 지역 검색을 사용하여 특정 주소 지역의 업체를 찾습니다. 결과가 인터셉트되고 JQGrid 테이블에 표시되어야합니다. JQGrid의 "배열 데이터"를 사용하여 결과를 그리드에 로컬로 삽입하고 싶습니다. 검색이 완료되고 onSearchCompleteCallback 기능은 내가 불을 지르고에서이 오류가 호출되면JQGrid 배열 데이터 문제 - clientSide
<script type="text/javascript">
var map = null;
var geocoder = null;
function initialize() {
/* Initialize Google Maps */
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(50.786916, 6.101360), 16);
//map.setUIToDefault();
var customUI = map.getDefaultUI();
customUI.controls.scalecontrol = false;
map.setUI(customUI);
var options = {
onSearchCompleteCallback:function(searcher){
var resultcontent = '';
if (searcher.results && searcher.results.length > 0) {
for (var i = 0; i < searcher.results.length; i++) {
var result = searcher.results[i];
// Split Address-Lines into Street and No
var TempString = result.addressLines[0];
var StreetLine = TempString.split(/\b[0-9]/);
// Split Address-Lines to get Zipcode
TempString = result.addressLines[1];
var CityLine = TempString.split(/\b[^0-9]/);
// Construct the Data Array
var InputData = "{Firma:\""+result.titleNoFormatting+"\", Strasse:\""+StreetLine[0]+"\", Hausnummer:\""+StreetLine[1]+"\", Postleitzahl:\""+CityLine[0]+"\", Ort:\""+result.city+"\", Telefonnummer:\""+result.phoneNumbers[0].number+"\"}";
alert(InputData);
// Outputs for example: {Firma:"Lukull Pizza Service GbR", Strasse:"Jülicher Straße ", Hausnummer:"6", Postleitzahl:"52070", Ort:"AACHEN", Telefonnummer:"0241 9010080"}
// Apply Data to Grid
jQuery("#ResultGrid").addRowData(i, InputData);
}
}
}
};
localSearch = new google.maps.LocalSearch(options);
map.addControl(localSearch);
map.removeControl(GScaleControl);
geocoder = new GClientGeocoder();
$("#map").hide("fast");
}
}
function showAddress(address, CompleteAdd) {
// Gets an address from database to pinpoint the location
if (geocoder) {
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
map.setCenter(point, 16);
var marker = new GMarker(point);
map.addOverlay(marker);
marker.openInfoWindowHtml(CompleteAdd);
}
}
);
}
$("#map").show("fast");
}
$("#ResultGrid")
.jqGrid({
colNames:['ID', 'Firma', 'Strasse', 'Hausnummer', 'Postleitzahl', 'Ort', 'Telefonnummer'],
colModel:[
{name:'ID', index:'ID', width:55, editable:false, searchable:false},
{name:'Nachname', index:'Nachname', width:150, editable:false, searchable:false},
{name:'Strasse', index:'Strasse', width:150, editable:false, searchable:false},
{name:'Hausnummer', index:'Hausnummer', width:150, editable:false, searchable:false, sorttype:'int'},
{name:'Postleitzahl', index:'Postleitzahl', width:150, editable:false, searchable:false, sorttype:'int'},
{name:'Ort', index:'Ort', width:150, editable:false, searchable:false},
{name:'Telefonnummer', index:'Telefonnummer', width:150, editable:false, searchable:false}
],
datatype: 'clientSide',
//editurl:'Edit.php',
height: 240,
multiselect: true,
pager:'#ResultPager'
})
.navGrid('#ResultPager', {view:false, edit:false, add:false, del:false, search:false, refresh:false})
.navButtonAdd('#ResultPager', {title:"Adresse in Addressbuch speichern", buttonicon:"ui-icon-disk", caption:"In Adressbuch speichern", onClickButton:function(){
//This method should save the selected addresses to the database
}})
});
</script>
</head>
<body onload="initialize()" onunload="GUnload()">
<div class="main" align="center">
<table id="MyGrid"></table>
<div id="pager"></div>
<div class="ui-dialog ui-widget ui-widget-content ui-corner-all ui-draggable ui-resizable" style="height: 150px" id="Dialog"></div>
<div id="map" style="width: 850px; height:450px; padding:10px; font-size: medium; color:#853805; background-color:#FFE8CF;"></div>
<br/>
<div id="ResultGrid">
<div id="ResultPager"></div>
</div>
</div>
: 나는에 대한 해결책을 찾을 수 없습니다
t.rows is undefined
http://localhost/jQuery_Adressbuch/js/jquery.jqGrid.min.js
Line 123
나는 다음과 같은 코드가이 시점에서 이 문제. 누구든지이 오류에 대해 더 알고 있거나 JQGrid에서 로컬 데이터 배열을 사용하고 있습니까?
피씨 : 문제를 해결했습니다. HTML 섹션에서 표 대신 그리드 용 DIV 태그를 만들었습니다 ... 저를 매우 어리 석습니다.