jquery tokeninput过滤器查询发送额外参数

时间:2012-08-14 11:05:14

标签: jquery jquery-plugins

如何为查询设置额外参数,如

q=myseed&filter=1,2,34

更好的是附加事件 像

onFocus:function(){
  //retrieve extra params
}

以下是该插件的链接 - http://loopj.com/jquery-tokeninput/

5 个答案:

答案 0 :(得分:4)

以下是您可以执行此操作的方法,在下面的示例中,我将两个额外的参数传递给tokenInput网址。

this.$("#abcTextbox").tokenInput("url?someParam1=cricket&someParam2=yasser", {
    queryParam: "q"
});

Source

答案 1 :(得分:2)

这可以通过插件的本机功能(至少使用当前版本)实现,而不是在文档中编写:代码中有onSend callback。这是一个简单的例子

$(".my-input").tokenInput('autocomplete.php', {
    hintText: false,
    onSend: function(param1) {
        // console.log($(this));
        // console.log(param1);
        param1.data.my_key = 'my_value';
    }
});

答案 2 :(得分:1)

除了进入实际的插件代码并添加此功能之外,我能看到的另一种方法是将queryParam更改为类似的内容 -

filter=1,2,34&q

这样,您的过滤器就会附加到实际查询参数中。它必须是硬编码的,每次你想要改变这个额外的过滤器时,你可能不得不重新初始化插件。

示例 -

$("#selector").tokenInput("PATH_TO_SCRIPT", {
  queryParam: "filter=1,2,34&q"
});

答案 3 :(得分:1)

另一种方法,您可以使用初始URL来实现此目的。

类似的东西:

$("#selector").tokenInput("PATH_TO_SCRIPT&filter=1,2,3", {
  queryParam: "q"
});

这将按预期处理

答案 4 :(得分:1)

我知道这个问题很老但我遇到了同样的问题并找到了答案。

查看源代码,url参数可以是在发送ajax查询之前被唤醒的函数。所以你可以这样做:

this.$("#abcTextbox").tokenInput(function(){
    return "/path/to/script.php?filter="+$("#myFieldId").val()
}, {
    queryParam: "q"
 ...
});