2012-12-19 19 views
0

我正在開發將返回JSON的API請求一個以上的參數,但API調用有兩個參數,「術語」和「國家」:如何使用JqueryAutocomplete發送上

http://127.0.0.1:8000/internalapi/cidades/?country=PT&term=Barreir 

如何我可以修改此調用以支持額外的API參數「country」嗎?

<script> 
$(function() { 
    function log(message) { 
     $("<div>").text(message).prependTo("#log"); 
     $("#log").scrollTop(0); 
    } 

    $("#city").autocomplete({ 
     source: function(request, response) { 
      $.ajax({ 
       url: "http://127.0.0.1:8000/internalapi/cidades/", 
       dataType: "jsonp", 
       data: { 
        featureClass: "P", 
        style: "full", 
        maxRows: 12, 
        name_startsWith: request.term 
       }, 
       success: function(data) { 
        response($.map(data.geonames, function(item) { 
         return { 
          label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName, 
          value: item.name 
         } 
        })); 
       } 
      }); 
     }, 
     minLength: 2, 
     select: function(event, ui) { 
      log(ui.item ? 
       "Selected: " + ui.item.label : 
       "Nothing selected, input was " + this.value); 
     }, 
     open: function() { 
      $(this).removeClass("ui-corner-all").addClass("ui-corner-top"); 
     }, 
     close: function() { 
      $(this).removeClass("ui-corner-top").addClass("ui-corner-all"); 
     } 
    }); 
}); 
</script> 

任何線索?

最好的問候,


更新1:

爲選擇該國HTML:

<div class="fieldWrapper"> 
    <label for="id_country">País:</label> 
    <select id="id_country" name="country"> 
     <option selected="selected" value="">(Nothing)</option> 
     <option value="PT">Portugal</option> 
     <option value="ES">Espanha</option> 
    </select> 
</div> 

回答

1

您應該添加參數到數據對象:

  data: { 
       featureClass: "P", 
       style: "full", 
       maxRows: 12, 
       name_startsWith: request.term, 
       country: $('#id_country').find(":selected").val() 
      }, 
+0

嗨,freedev。這個國家有可能是動態的嗎?我有「?country = ES&term = Madr」,「?country = UK&term = Lond」等請求。 –

+0

是的,但在您的文章中,我無法理解國家參數的來源。如果你指定的國家是HTML的片段,或讀取這樣的價值的JavaScript片段,我可以幫你 – freedev

+0

我已經建立了API但不是HTML。在選擇城市之前,我將從一個下拉框中獲取該國家。這是做這件事的最好方法嗎?感謝您的回覆。 –

相關問題