私はJavaScriptがあまり得意ではなく、私のために書かれたコードがいくつかあります。
if (args[2].LocationCacheTypeID == 1) {
locationInput.name = 'Cities';
以下のようにコードに追加したいと思いLinkID=27201&
ます。
if (args[2].LocationCacheTypeID == 1) {
locationInput.name = 'LinkID=272081&Cities';
唯一の問題は、それを追加してURL文字列に変換すると、次のようになることです。
?LinkID%3D272081%26Cities=Poquoson
=
to%3D
と&
toをに変え%26
ます。
どうすればこれを修正できますか?
完全な元のスクリプトは次のとおりです。
<script type='text/javascript'>
(function() {
var dataSource = new YAHOO.util.ScriptNodeDataSource('http://api.idx.diversesolutions.com/API/Locations/33266/81?');
var ac = new YAHOO.widget.AutoComplete('vrcsf_location', 'vrcsf_location_ac', dataSource);
dataSource.responseSchema = {
resultsList: '',
fields: ['LocationName','LocationCacheTypeID','TotalCount']
};
ac.animVert = false;
ac.queryMatchContains = true;
ac.queryQuestionMark = false;
ac.useShadow = true;
ac.queryDelay = .1;
ac.typeAhead = false;
ac.allowBrowserAutocomplete = false;
ac.alwaysShowContainer = false;
ac.resultTypeList = false;
ac.maxResultsDisplayed = 5;
ac.resultTypeList = false;
ac.generateRequest = function(query) {
return 'partialName=' + query + '&maxAreasToReturn=5';
};
ac.formatResult = function(resultData, query, resultMatch) {
var type;
if (resultData.LocationCacheTypeID == 1) {
type = 'City';
} else if (resultData.LocationCacheTypeID == 2) {
type = 'Community';
} else if (resultData.LocationCacheTypeID == 3) {
type = 'Tract';
} else if (resultData.LocationCacheTypeID == 4) {
type = 'Zip';
} else if (resultData.LocationCacheTypeID == 5) {
type = 'County';
}
return (resultMatch + ' (' + type + ')');
};
ac.itemSelectEvent.subscribe(function(e, args) {
var locationInput = YAHOO.util.Dom.get('vrcsf_location');
if (args[2].LocationCacheTypeID == 1) {
locationInput.name = 'Cities';
} else if (args[2].LocationCacheTypeID == 2) {
locationInput.name = 'Communities';
} else if (args[2].LocationCacheTypeID == 3) {
locationInput.name = 'Tracts';
} else if (args[2].LocationCacheTypeID == 4) {
locationInput.name = 'ZipCodes';
} else if (args[2].LocationCacheTypeID == 5) {
locationInput.name = 'Counties';
}
});
})();