jQuery Tokeninput:动态地向查询添加其他参数

jQuery Tokeninput:动态地向查询添加其他参数,jquery,ajax,jquery-tokeninput,Jquery,Ajax,Jquery Tokeninput,我有一个jquerytokeninput,用于从系统中的用户列表中进行选择。我希望能够将此搜索限制为来自特定区域的用户 我要做的是将地区编号与搜索查询一起发送。但是,我在文档中找不到此功能。在我看来,您只能在创建tokeninput时设置查询参数,因此您不能在以后更改查询,例如,当我选择一个新区域进行搜索时 我知道我可以使用onResult函数,但这还不够好。我将返回的用户数量限制为15个,我希望在过滤区域后这样做。您可以将函数传递给构造函数,而不是特定的URL。在这个函数中,您可以返回一个字符

我有一个jquerytokeninput,用于从系统中的用户列表中进行选择。我希望能够将此搜索限制为来自特定区域的用户

我要做的是将地区编号与搜索查询一起发送。但是,我在文档中找不到此功能。在我看来,您只能在创建tokeninput时设置查询参数,因此您不能在以后更改查询,例如,当我选择一个新区域进行搜索时


我知道我可以使用onResult函数,但这还不够好。我将返回的用户数量限制为15个,我希望在过滤区域后这样做。

您可以将函数传递给构造函数,而不是特定的URL。在这个函数中,您可以返回一个字符串,并将所需的“region”作为GET参数

假设你正在做这样的事情

$("#search_frwId").tokenInput("www.example.com?region=UK");
你可以做

$("#search_frwId").tokenInput(getRegionURL);

function getRegionURL(){
    if (uk_region_selected) return "www.example.com?region=UK";
    else return "www.example.com?region=US";
}
这可以通过插件的onSend回调来完成

onSend: function(request_params) {
    console.log(request_params);
    // manipulate request_params object
}

我对类似问题的回答

您可以添加如下参数

$my text input.tokenInputdomain.com?产品id=1和类别id=2

查询字符串q将自动添加并变为如下所示

$my text input.tokenInputdomain.com?product_id=1&category_id=2&q=搜索字符串


谢谢你的建议@Chris。然而,我必须能够在实例化tokenInput之后更改区域,这就是我所说的动态。幸运的是,我可能已经找到了解决办法。当区域发生更改时,我将迄今为止选择的值存储在tokenInput中,从textarea中删除tokenInput,然后使用预填充设置再次实例化它,并传入我存储的值。我将在完成一些进一步的测试后确认这一点。@Asgeir-抱歉,我解释得不好。如果使用函数进行实例化,则每次搜索时都会调用该函数,而不是使用特定的字符串url。我不知道您是如何在界面中“更改区域”的,但如果它们是单选按钮,您可以测试是否在getRegionURL函数中选择了每个按钮,该函数将在每次搜索时调用。