Php 将数组作为参数传递给Select2
我试图将checkbox checked放入一个数组(checkBoxArray),并使用select2jquery插件通过ajax将其发送到我的php请求文件。 但是过滤器值始终为空Php 将数组作为参数传递给Select2,php,jquery,jquery-select2,Php,Jquery,Jquery Select2,我试图将checkbox checked放入一个数组(checkBoxArray),并使用select2jquery插件通过ajax将其发送到我的php请求文件。 但是过滤器值始终为空 //Here the checkBox array $('.chkfilters').on("change", function() { var checkBoxArray = $('.chkfilters:checked').map(function(i,n) { return $(n)
//Here the checkBox array
$('.chkfilters').on("change", function() {
var checkBoxArray = $('.chkfilters:checked').map(function(i,n) {
return $(n).val();
}).get(); //get converts it to an array
});
// Here the Select2 plugin
$(".searchInput").select2({
placeholder: "Rechercher un article, une référence...",
minimumInputLength: 3,
ajax: {
url: "/suggest",
dataType: 'JSONP',
type: 'GET',
data: function (term, page, checkBoxArray) {
return {
q: term,
page_limit: 10,
page: page,
filter : checkBoxArray
};
},
results: function (data, page) {
var more = (page * 10) < data.total;
return {
results: data.articles,
more: more
};
}
},
createSearchChoice: function(term, checkBoxArray) {
return {
text:term,
tform:'/recherche',
filter : checkBoxArray
};
},
...
});
//这里是复选框数组
$('.chkfilters')。打开(“更改”,函数(){
var checkBoxArray=$('.chkfilters:checked').map(函数(i,n){
返回$(n.val();
}).get();//get将其转换为数组
});
//这里是Select2插件
$(“.searchInput”)。选择2({
占位符:“Rechercher联合国文章,法国……”,
最小输入长度:3,
阿贾克斯:{
url:“/建议”,
数据类型:“JSONP”,
键入:“GET”,
数据:函数(术语、页面、复选框数组){
返回{
问:任期,
页数限制:10页,
第页:第页,
过滤器:checkBoxArray
};
},
结果:功能(数据、页面){
var more=(第10页)
我的项目中的代码。它的工作原理是:
$('.lstProgramStoplistId')。选择2({
阿贾克斯:{
网址:programsUrl,
数据类型:“json”,
contentType:'应用程序/json',
键入:“POST”,
延误:250,
数据:函数(参数){
var lstProgramCategoryId=$('.lstProgramCategoryId')。选择2('val');
返回JSON.stringify({
str:params.term,
lstProgramCategoryId:lstProgramCategoryId
});
},
processResults:函数(数据、参数){
返回{
结果:数据项
};
},
缓存:false
},
最小输入长度:2
});
您只是想获取复选框吗?不仅仅是。我也在尝试通过Select2函数发送阵列。复选框在表单之外。您是否尝试过序列化?查看$('.chkfilters').serialize()返回的内容@阿达默里菲尔德Thx寻求帮助。是的,这听起来是个不错的起点,但你能帮我找到方法吗?