2012-03-13 49 views
0

我有如下描述了同样的问题 - http://blog.qumsieh.ca/2009/09/08/jquery-autocomplete-extraparams-and-checkboxes/如何让jQuery的自动完成extraParam评估当前值

总之,使用自动完成的时候,我得到了区域选择框变量的初始值。然而,与上述示例不同的是,参数的值实际上成为函数的文本,而不是函数的计算值。

因此,与其让 “选项2”,例如,我正在“功能(){返回$( '#区域:选择')VAL();}”

这里是我的代码:

$().ready(function() {$("#course").autocomplete("autoCompleteMain.php", { 
     width: 360, 
     matchContains: true, 
     selectFirst: false, 
     extraParams: { 
      dateran : $('#dateran').val(), 
      area1 : function(){ 
       return $('#area :selected').val(); 
      } 

     } 
    }); 
}); 

回答

1

如果我理解你想要正确地做什么,你要么需要评估功能:

area1 : (function(){ 
      return $('#area :selected').val(); 
     })() 

..或简单地使用所选区域的当前值

area1 : $('#area :selected').val() 
+0

这解决了代码被视为文本的问题。不幸的是,现在评估一直是初始值。前进一步,后退一步。 – user1267004 2012-03-13 19:02:39

+0

是的 - 该选项仅在autoComplete插件加载时设置。如果您稍后尝试更改它,最好的办法可能是听取$('#course')'上的blur事件并相应地重置该值。 – rjz 2012-03-13 19:04:48

+0

了解。有没有办法访问原始参数值(更新它)还是我需要在我的代码中使用单独的变量而不是参数? – user1267004 2012-03-13 19:14:46