在select2 jquery插件的数据部分传递一个数组
Posted
技术标签:
【中文标题】在select2 jquery插件的数据部分传递一个数组【英文标题】:Passing an array in data section of select2 jquery plugin 【发布时间】:2013-02-20 01:26:57 【问题描述】:我有与选择二jquery插件(用MVC3,剃须刀和敲除JS),并且我想传递给我的AJAX调用自定义参数。 P>的问题
我有这个代码:
$('#QuickSearchPresentation').select2(
placeholder: "Search for a movie",
minimumInputLength: 1,
ajax: // instead of writing the function to execute the request we use Select2's convenient helper
url: '@Url.Action("QuickSearchMainContainerFromPresentationByIdFolders", "DataCenter", new amount = 10 )',
contentType: 'application/json',
dataType: 'json',
type: 'POST',
quietMillis: 400,
data: function (term, page)
return ko.toJSON(
term: term,
idFolders: vm.Container.Catalogs
);
,
results: function (data, page) // parse the results into the format expected by Select2.
// since we are using custom formatting functions we do not need to alter remote JSON data
console.log('results', data);
return results: data;
,
initSelection: function(element, callback)
console.log('element', element);
,
formatResult: containerQuickSearchResult, // omitted for brevity, see the source of this page
formatSelection: containerQuickSearchResult, // omitted for brevity, see the source of this page
dropdownCssClass: "bigdrop", // apply css that makes the dropdown taller
escapeMarkup: function (m) return m; // we do not want to escape markup since we are displaying html in results
);
VM是从敲除JS我的模型,和目录其INT的阵列。 P>
的事情是,我不能传递数组idFolders给Action我的服务器上,带有“”值不能为空的服务器响应。参数名:源”(因为数组被空的动作在我的控制器)。 我尝试一切可能的方式,我认为,我不能找到合适的方式。 P>
我希望你能帮助我这一点。 P>
谢谢, 贡萨洛。 P>
【问题讨论】:
【参考方案1】:在您的 jQuery ajax 调用中,为您的数据属性尝试将其包装在 JSON.stringify() 中。像这样:
data: function (term, page)
return JSON.stringify(ko.toJSON(
term: term,
idFolders: vm.Container.Catalogs
));
,
我注意到使用 JSON.stringify 包装数据可以使 MVC 正确处理 JSON。
【讨论】:
以上是关于在select2 jquery插件的数据部分传递一个数组的主要内容,如果未能解决你的问题,请参考以下文章
如何在JQuery数据库CellEdit上集成Select2插件?
在 PHP 中,如何使用 select2(Jquery 插件)显示选定的值