Jquery自动完成链式请求

mad*_*kay 6 javascript asp.net-mvc jquery autocomplete

我有一个页面,包含两个输入字段City和Venue.我有来自Devbridge的自动完成插件, 非常适合城市领域.我现在想让它在场地领域工作.到目前为止我的javascript是:

<script type="text/javascript">
    $(document).ready(function() {
        $('#Event_City').autocomplete({
          serviceUrl: '<%=Url.Action("GetCities", "Search") %>',
          minChars:2,
          width: 300,
          delimiter: /(,|;)\s*/,
          deferRequestBy: 150, //miliseconds
          params: { country: 'Yes' },
        });
        $('#Event_Venue').autocomplete({
          serviceUrl: '<%=Url.Action("GetVenues", "Search") %>',
          minChars:2,
          width: 300,
          delimiter: /(,|;)\s*/,
          deferRequestBy: 150, //miliseconds
          params: { city: $("#Event_City").val() },
        });
    });      
</script>
Run Code Online (Sandbox Code Playgroud)

第二个自动完成通过另一个参数(城市)到我的控制器上的操作.然后我会用它来限制我对那个城市场地的回应.收到此参数但不包含在#Event_City中输入的当前值.相反,它包含默认值.

有人知道如何在调用自动​​完成时评估值吗?

我刚刚开始使用Javascript,所以请保持温和.

谢谢,

Jos*_*lio 7

@Ian麦凯-为了得到自动完成的地点过滤器的基础上的城市,你需要在的"改变"事件结合城市如下:

$(document).ready(function() {
    $('#Event_City').autocomplete({
      serviceUrl: '',
      minChars:2,
      width: 300,
      delimiter: /(,|;)\s*/,
      deferRequestBy: 150, //miliseconds
      params: { country: 'Yes' },
    }).change(function(){
        $('#Event_Venue').autocomplete({
          serviceUrl: '',
          minChars:2,
          width: 300,
          delimiter: /(,|;)\s*/,
          deferRequestBy: 150, //miliseconds
          params: { city: $("#Event_City").val() }
        });
    }); 
}); 
Run Code Online (Sandbox Code Playgroud)