【发布时间】:2016-09-23 10:14:50
【问题描述】:
我刚刚在我的 ASP.NET MVC Web 应用程序中添加了免费的 jqGrid。虽然它在大多数情况下都很好用,但我想将多选复选框上的“id”和“name”属性的值设置为表中不同列的 Id 列值?
相反,复选框设置如下:
<input type="checkbox" id="jqg_list2_jqg30" class="cbox" name="jqg_list2_jqg30" aria-checked="false">
如何更换 jqg_list2_jqg30?
我一直在关注这个演示,其中复选框上的 id 和 name 属性设置正确,但我看不出我在做什么不同 - http://www.trirand.com/blog/jqgrid/jqgrid.html
这是jqGrid的逻辑
$("#list2").jqGrid({
url: 'https://localhost:44319/Package/GetPackages/2',
datatype: "json",
contentType: "application/json; charset-utf-8",
mtype: 'GET',
colNames: ['Id', 'Name', 'Description'],
colModel: [
{ name: 'Id', index: 'Id', width: 55, sorttype: "int" },
{ name: 'Name', index: 'Name', width: 90, searchoptions: { "sopt": ["bw", "eq"] } },
{ name: 'Description', index: 'Description', width: 90 }
],
rowNum: 25,
rowList: [25, 50],
pager: '#pager2',
toppager: true,
sortname: 'Id',
viewrecords: true,
height: "auto",
sortorder: "asc",
multiPageSelection: true,
multiselect: true,
selarrrow: [],
caption: "JSON Example",
loadonce: true,
jsonReader: { repeatitems: false }
});
jQuery("#list2").jqGrid('navGrid', '#pager2',
{ edit: false, add: false, del: false, search: true, view: false, refresh: true });
jQuery("#m1").click(function () {
var s;
s = jQuery("#list2").jqGrid('getGridParam', 'selarrrow');
alert(s);
});
我知道我可以编写一些自定义逻辑来执行此操作,但我不认为这是必需的,如上面的示例所示,并且应该开箱即用?
提前致谢。
【问题讨论】:
-
你到底需要什么?
-
嗨,我想将多选创建的复选框上的 id 和 name 属性设置为 Id 列中的 Id 值。谢谢
-
contentType: "application/json; charset-utf-8"选项将在您当前的代码中被忽略,因为contentType是 jqGrid 的未知选项。如果您需要指定jQuery.ajax的选项,它在内部使用jqGrid,那么您应该使用选项ajaxGridOptions: { contentType: "application/json; charset-utf-8" }来代替。如果您真的使用“免费 jqGrid”fork,请另外始终包含 free jqGrid 的 jqGrid 版本,并在问题中添加 free-jqgrid 标签。
标签: javascript jquery asp.net free-jqgrid