Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery在选择时自动完成清除输入_Javascript_Jquery_Autocomplete_Azure Maps - Fatal编程技术网

Javascript JQuery在选择时自动完成清除输入

Javascript JQuery在选择时自动完成清除输入,javascript,jquery,autocomplete,azure-maps,Javascript,Jquery,Autocomplete,Azure Maps,我使用此代码在输入地址时从Azure Maps API弹出自动建议 问题是,每次我选择一个地址,它都会清除搜索框。但是,我希望在单击某个选项时,街道地址填充搜索框,而不是addressLineTbx 我尝试了以下代码,但单击其中一个选项后,搜索框仍会清除 document.getElementById('searchBox').value = (selection.address.streetNumber ? (selection.address.streetNumber + ' ') : '

我使用此代码在输入地址时从Azure Maps API弹出自动建议

问题是,每次我选择一个地址,它都会清除搜索框。但是,我希望在单击某个选项时,街道地址填充搜索框,而不是addressLineTbx

我尝试了以下代码,但单击其中一个选项后,搜索框仍会清除

document.getElementById('searchBox').value = (selection.address.streetNumber ? (selection.address.streetNumber + ' ') : '') + (selection.address.streetName || '');
在事件中使用event.preventDefault停止自动完成设置值,然后设置地址

 select: function(event, ui) {
      //Stop the autocomplete from setting a value
      event.preventDefault();

      //When a suggestion has been selected.
      var selection = ui.item;

      //Format address
      var address = (selection.address.streetNumber ? (selection.address.streetNumber + ' ') : '') + (selection.address.streetName || '')

      //Set the address to the autocomplete
      $(this).val(address)

      //Populate the address textbox values.
      // document.getElementById('addressLineTbx').value = address;

      // ...
 }
//在获取Azure地图密钥https://azure.com/maps var subscriptionKey=; var addresssGeocodeServiceUrlTemplate='0https://atlas.microsoft.com/search/address/json?typeahead=true&subscription-key={subscription key}&api version=1&query={query}&language={language}&countrySet={countrySet}&view=Auto'; document.AddEventListenerDomainContentLoaded,PageLoaded; 功能页面已加载{ //创建jQuery自动完成UI小部件。 $searchBox.autocomplete{ minLength:3,//在至少输入3个字符之前,不要征求建议。 来源:functionrequest,response{ //创建Azure地图搜索服务的URL以执行地址搜索。 var requestUrl=addresssGeocodeServiceUrlTemplate.replace“{query}”,encodeURIComponentrequest.term .替换“{subscription key}”,subscriptionKey .替换“{language}”,“en US” .replace“{countrySet}”、“US”;//一个逗号分隔的国家代码字符串,用于将建议限制为。 $.ajax{ url:requestUrl, 成功:functiondata{ 结果; } }; }, 选择:functionevent,ui{ //停止自动完成设置值 违约事件; //当选择建议时。 var selection=ui.item; //格式地址 var address=selection.address.streetNumber?selection.address.streetNumber+“”:+selection.address.streetName | //将地址设置为自动完成 $this.valaddress //填充地址文本框值。 document.getElementById'addressLineTbx'。值=地址; document.getElementById'cityTbx'。value=selection.address.university | |; document.getElementById'countyTbx'。value=selection.address.CountrySecondary细分| |; document.getElementById'stateTbx'。value=selection.address.CountrySubsection | |; document.getElementById'postalCodeTbx'。值=selection.address.postalCode | |; document.getElementById'countryTbx'。value=selection.address.countryCodeISO3 | |; } }.autocompleteinstance.\u renderItem=functional,项{ //格式化显示的建议以显示格式化的建议字符串。 var suggestionLabel=item.address.freeformAddress; 如果item.poi&&item.poi.name{ suggestionLabel=item.poi.name+“”+suggestionLabel+; } 返回$ .append,它在用户键入时提供地址建议,并用所选建议填充表单。
正是我想要的。谢谢!