使用jquery自动完成在URL中传递额外参数

时间:2015-03-23 11:54:17

标签: jquery jquery-autocomplete

我正在尝试使用jquery Autocomplete向我的控制器发送一个额外的参数(除了键入的键),我试图将它附加到url,如下所示但由于某种原因参数始终为空,这是我的代码:

$(document).ready(function(){
$('#classDefNode').each(function() {

    $(this).autocomplete({
            type:"POST",
            serviceUrl: '${pageContext.request.contextPath}/getClassDefinitionName?interfaceName='+$("#interfaceDefNodeIOS").val(),
            paramName: "className",
            delimiter: ",",


            transformResult: function(response) {
            return {        
              //must convert json to javascript object before process
              suggestions: $.map($.parseJSON(response), function(item) {

                  return { value: item.name, data: item.id };
               })

             };

                }

         });
});
});

我认为问题在于.ready(function())在页面加载时和输入仍为空时执行。 我也尝试使用boostrap typeahead,但我无法使其工作,它在chrome控制台中显示了错误的请求。 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

您正在使用serviceUrl: 'stuff'+$("#interfaceDefNodeIOS").val()初始化自动完成对象。在初始化时,$(“#interfaceDefNodeIOS”)为空,对吧?因此,您使用空参数初始化自动填充。在输入字段中键入内容时,此参数不会自动更新。自动复合已初始化。

the doc开始,使用:

  

params:随请求传递的其他参数,可选。