5

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

q=myseed&filter=1,2,34

最好有一个附加的事件,比如

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

这是插件的链接 - http://loopj.com/jquery-tokeninput/

4

5 回答 5

3

这是你可以做到的,在下面的示例中,我将两个额外的参数传递给 tokenInput url。

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

资源

于 2013-05-24T07:42:20.003 回答
2

另一种方法是,您可以使用初始 url 来实现这一点。

就像是 :

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

这将按预期处理

于 2013-03-22T16:30:24.710 回答
2

这可以通过插件的本机功能(至少在当前版本中)来实现,只是没有写在文档中:代码中有onSend 回调。这是一个简单的例子

$(".my-input").tokenInput('autocomplete.php', {
    hintText: false,
    onSend: function(param1) {
        // console.log($(this));
        // console.log(param1);
        param1.data.my_key = 'my_value';
    }
});
于 2015-07-30T09:41:39.173 回答
1

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

filter=1,2,34&q

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

例子 -

$("#selector").tokenInput("PATH_TO_SCRIPT", {
  queryParam: "filter=1,2,34&q"
});
于 2012-08-14T11:12:16.727 回答
1

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

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

this.$("#abcTextbox").tokenInput(function(){
    return "/path/to/script.php?filter="+$("#myFieldId").val()
}, {
    queryParam: "q"
 ...
});
于 2015-05-26T08:45:29.490 回答