【问题标题】:how to get jQuery autocomplete extraParam to evaluate current value如何让 jQuery 自动完成 extraParam 来评估当前值
【发布时间】:2012-03-30 02:52:27
【问题描述】:

我遇到了与此处所述相同的问题 - http://blog.qumsieh.ca/2009/09/08/jquery-autocomplete-extraparams-and-checkboxes/

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

因此,例如,我得到的不是“option2”,而是“function(){return$('#area :selected').val();}'

这是我的代码:

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

        }
    });
});

【问题讨论】:

    标签: jquery autocomplete


    【解决方案1】:

    如果我理解您正在尝试正确执行的操作,您将需要评估函数:

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

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

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

    【讨论】:

    • 这解决了代码被视为文本的问题。不幸的是,现在评估始终是初始值。前进一步,后退一步。
    • 是——该选项仅在加载自动完成插件时设置。如果您稍后尝试更改它,最好的办法可能是在 $('#course') 上监听 blur 事件并相应地重置该值。
    • 明白。有没有办法访问原始参数值(更新它)或者我需要在我的代码中使用单独的变量而不是参数?
    • autoComplete 可能会提供一个访问它的接口,但分配您自己的变量并根据需要使用它可能会更容易(我的投票:^)。
    • 自动完成功能给了我我需要的东西。将此与事件捕获结合使用可以更新自动完成对象参数。
    猜你喜欢
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多