Jquery的Ajax自动完成:如何发送动态参数

前端之家收集整理的这篇文章主要介绍了Jquery的Ajax自动完成:如何发送动态参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的一个应用程序中使用Ajax Autocomplete for Jquery( http://www.devbridge.com/projects/autocomplete/jquery/).搜索表单看起来像这样:
<form id="topsearch" method="POST" action="/searchAll"><input type="text" class="searchform" name="q" id="q" value="Country,City,Hotel or a Tourist Attraction" o    nfocus="clearInput(this);" onblur="defaultInput(this);" />
  <select id="top_search_select" name="entity_type">
     <option value="country">Countries</option>
     <option value="city">Cities</option>
     <option value="place" selected="selected">Tourist Attractions</option>
     <option value="hotel">Hotels</option>
  </select>
  <input type="submit" name="topsearch" class="submit" value="SEARCH" title="SEARCH"/>
</form>

并且自动完成配置如下所示:

<script type="text/javascript">
 //<![CDATA[
   var a = $('#q').autocomplete({
     serviceUrl:'/search',delimiter: /(,|;)\s*/,// regex or character
     maxHeight:400,width:325,zIndex: 9999,params: {entity_type:$('#top_search_select').val()},deferRequestBy: 0,//miliseconds
     noCache: false,//default is false,set to true to disable caching
     onSelect: function(value,data){window.location.replace(data);},});
 //]]>
</script>

现在问题是在后端我有不同的处理程序,为用户通过表单中的选择选项选择的不同类型的实体生成结果.

默认情况下,entity_type是正好传递给后端处理程序的地方.但是,我想要的是当一个人从params形式的选择框中选择一个不同的实体时:{entity_type:$(‘#top_search_select’).脚本配置中的val()}也会得到更新.

任何帮助或想法将不胜感激.谢谢.

解决方法

或者,您可以使用在发送ajax请求之前评估的函数来指定参数.
$('#q').autocomplete({
    ...
    params: {
        'entity_type': function() {
            return $('#top_search_select').val();
        }
    }
    ...
});
原文链接:https://www.f2er.com/jquery/178552.html

猜你在找的jQuery相关文章