我如何修改这个Select2 javascript来启用分页?
How can I modify this Select2 javascript to enable paging?
我不太熟悉javascript,所以我需要这里的帮助。我有这个方法返回客户列表(2000+),因此Select2下拉菜单挂起。我想启用分页,但不确定需要更改什么。下面是我的javascript代码:
var GetCutomerDDL = function(cient) {
var Json = {},
customers = [];
$ddlCustomers.select2('val', '');
Json.client = cient;
$.post(urlContent + 'Cutomer/GetCustomerDDL', Json, function(data) {
}, 'json').done(function(data) {
customers = data;
$ddlCustomers.select2({
placeholder: "Select Customer(s)",
allowClear: true,
multiple: true,
data: customers
});
});
};
GetCustomerDDL
使用LINQ返回所有客户,但我想启用分页,所以不要一次在下拉菜单中加载超过2000条记录。我需要在javascript和服务器端改变什么?
Select2控件包括"infinite scrolling"。这可能就是你要找的。
Scroll2的主页在这里:http://select2.github.io/
在服务器端,您将希望使用Skip()
和Take()
LINQ操作符在数据中向前跳过,并仅从数据中获取一定数量的项。Select2应该传递要跳过的项并将其传递给控制器。
试着改变这个:
$.post(urlContent + 'Cutomer/GetCustomerDDL', Json, function(data) {
}, 'json').done(function(data) {
customers = data;
$ddlCustomers.select2({
placeholder: "Select Customer(s)",
allowClear: true,
multiple: true,
data: customers
});
});
:
$ddlCustomers.select2({
ajax: {
url: urlContent + 'Cutomer/GetCustomerDDL',
dataType: 'json',
data: function (term, page) {
return {
q: term, // search term
pageLimit: 10,
page: page, // page number
client: client
};
},
results: function (data, page) {
var more = (page * 10) < data.total; // whether or not there are more results available
return { results: data.customers, more: more };
}
},
});
在你的控制器上,你希望在"customers"属性中返回你的客户子列表,并在"total"属性中返回总客户。
return Json(new { customers = customers.Skip(...).Take(...),
total = customers.Count() }, JsonRequestBehavior.AllowGet);
示例json结果:
{ customers: [...], total: 2000 }
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- javascript绑定另一个select2输入字段rails的select2 inputonchange事件的数据
- 使用javascript获取所选文本select2
- Select2不会转义HTML或javascript
- 使用javascript对象作为数据源在Select2中设置值
- 如何在select2 JavaScript多选择中选择所有选项
- 我如何修改这个Select2 javascript来启用分页?
- Select2 JavaScript不改变默认选择
- 使用HTML5 data-*属性初始化Javascript Select2控制器
- 通过javascript初始化Select2
- 在Javascript中使用select2迭代ruby对象
- 使用jQuery或Javascript为select2下拉菜单添加工具提示功能