我剛開始玩jqgrid,遇到一個奇怪的問題?jqgrid自定義編輯功能undefined
香港專業教育學院從jqGrid的演示的站點複製自定義編輯例子,並增加了額外的按鈕
我的代碼:
gridComplete: function(){
var ids = jQuery("#rowed2").jqGrid('getDataIDs');
for(var i=0;i < ids.length;i++){ var cl = ids[i];
be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=\"jQuery('#rowed2').editRow('"+cl+"');\" />";
se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('"+cl+"');\" />";
ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('"+cl+"');\" />";
gc = "<input style='height:22px;width:20px;' type='button' value='G' onclick=\"geocodeMe("+cl+");\" />";
jQuery("#rowed2").jqGrid('setRowData',ids[i],{Actions:be+se+ce+gc});
}
}
當我點擊標有G中的按鈕,它應該我thoughr叫我的功能
但我得到一個js錯誤,geocodeMe是undefined 其在我的代碼中,所以不知道爲什麼它不能找到它我猜它的範圍問題,任何想法如何解決它?
的geocodeMe功能:
function geocodeMe(myID) {
// set default region
region = 'uk';
// address not empty
removemarkers();
$('#geo_detail').html('<label>Geocoding address...</label>');
// lookup the address
var myData = $("#rowed2").getRowData(myID);
address = myData.geoaddr_mdt;
geocoder.geocode({'address':address,'region':region}, function(results, status) {
// if the address was found
if(status == google.maps.GeocoderStatus.OK) {
$str = '<label>Geocode Successful<br> Lattitude: '+results[0].geometry.location.lat()+' Longitude: '+results[0].geometry.location.lng()+'<br> The address is displayed below and will be stored in the database.<br> If the address is incorrect you may edit it before saving the location to the database.<br>If the marker is in the wrong location you may drag it to where you believe it should be.</label>';
$('#geo_detail').html($str);
// insert lat/long into form
$('#lat').val(results[0].geometry.location.lat());
$('#lng').val(results[0].geometry.location.lng());
// create new lat/long object
latlng = new google.maps.LatLng(results[0].geometry.location.lat(),results[0].geometry.location.lng());
$('#disp_addr').val(address);
$('#form_buttons').show();
$('#detail_address').show();
//reverselookup(results[0].geometry.location.lat(), results[0].geometry.location.lng());
// set zoom option
map.setZoom(15);
// center the map on the new location
map.setCenter(results[0].geometry.location);
createMarker(map, latlng, true, false);
if(savetype ='update'){
savedata('update');
};
if(savedata='save'){
savedata('save');
};
} else {
// display error
$('#geo_detail').append('<label>Geocoder failed to retrieve address: '+status+'</label>');
$('#disp_addr').val($('#geo_addr').val());
};
});
};
非常感謝你的回答,這真的很有幫助。 @Dizzy布萊恩高 – 2012-05-18 08:38:08