郵便番号(空港と駅)の検索に取り組んでいますが、選択した行の値が非表示のテキストボックスに正しい値を書き込んでいない理由を理解できないようです。
基本的に、以下に示すように「ガトウィック」を検索すると、次のようになります。
次のXML応答を受け取ります。
<?xml version="1.0"?>
<addresslist resultcount="4">
<address id="0" catagoryid="1" lat="184179968" lng="-639296">
<companyname></companyname>
<premiseno></premiseno>
<streetname>GATWICK AIRPORT (NORTH)</streetname>
<townname></townname>
<postcode>RH6 0PJ</postcode>
</address>
<address id="1" catagoryid="1" lat="184161536" lng="-586944">
<companyname></companyname>
<premiseno></premiseno>
<streetname>GATWICK AIRPORT (SOUTH)</streetname>
<townname></townname>
<postcode>RH6 0NP</postcode>
</address>
<address id="2" catagoryid="1" lat="184161664" lng="-580224">
<companyname></companyname>
<premiseno></premiseno>
<streetname>GATWICK GATWICK AIRPORT RAILWAY STATION</streetname>
<townname></townname>
<postcode>RH6 0RD</postcode>
</address>
<address id="3" catagoryid="1" lat="184161536" lng="-586944">
<companyname></companyname>
<premiseno></premiseno>
<streetname>GATWICK RAILWAY CONCOURSE</streetname>
<townname></townname>
<postcode>RH6 0NN</postcode>
</address>
</addresslist>
現時点では、どの行を選択しても、常に最後のLat&Long値が非表示のテキストボックスに書き込まれます。たとえば、最初の行を選択すると184161536, -586944
、「GATWICKRAILWAYCONCOURSE」の緯度経度の値が書き込まれます。
Jqueryコードは次のとおりです。
function buildResultView(xml_object,pageNum,rowdiv) {
// Remove existing page up page down click events
rowdiv.find('.lbl-addr-pgup').unbind('click');
rowdiv.find('.lbl-addr-pgdn').unbind('click');
// Remove result list if there is one
if (rowdiv.find('.ul-result-view')) {
rowdiv.find('.ul-result-view').remove();
}
ul = $('<ul></ul>');
ul.addClass('ul-addr-res');
ul.addClass('ul-result-view');
// Prepend ul before resultinfo
rowdiv.find('.div-result-info').before(ul);
// Reset result count
var resCount = 0;
// Count Results
$(xml_object).find('address').each(function(){
resCount += 1;
});
// Pull out start row and max rows
var pageRes = clientPaginate(resCount,pageNum).split(',');
var loopMax = parseInt(pageRes[0]);
var currentRow = parseInt(pageRes[1]);
var lastPge = parseInt(pageRes[2]);
var addType;
// Show maxRows starting at startIndex
for (var i = currentRow; i < loopMax; i++) {
var li = $('<li></li>');
li.addClass('li-addr-res');
addType = parseInt($(xml_object).find("address[id='"+i+"']").attr("catagoryid"));
var lat = ($(xml_object).find("address[id='"+i+"']").attr("lat"));
var lng = ($(xml_object).find("address[id='"+i+"']").attr("lng"));
li.css('cursor','pointer');
// Reset result count
var resCount = 0;
// Count Results
$(xml_object).find('address').each(function(){
resCount += 1;
});
// Pull out start row and max rows
var pageRes = clientPaginate(resCount,pageNum).split(',');
var loopMax = parseInt(pageRes[0]);
var currentRow = parseInt(pageRes[1]);
var lastPge = parseInt(pageRes[2]);
var addType;
// Show maxRows starting at startIndex
for (var i = currentRow; i < loopMax; i++) {
var li = $('<li></li>');
li.addClass('li-addr-res');
addType = parseInt($(xml_object).find("address[id='"+i+"']").attr("catagoryid"));
var lat = ($(xml_object).find("address[id='"+i+"']").attr("lat"));
var lng = ($(xml_object).find("address[id='"+i+"']").attr("lng"));
次に、lat、lng値を非表示のテキストボックスに書き込みます。
// Add this lat lng to hidden text box
rowdiv.find('.hidden-lat-lng').val(lat+","+lng);
これが正しい緯度の経度の値を選択しない理由はありますか?
選択した行の緯度の経度の値を取得できる必要があります。
誰かがこれを手伝ってくれるなら、私はとても素晴らしいです!:-)