最近使用jqgrid比较多,学习的一些东西,和大家分享一下。
下面的代码主要是对‘aa’列进行,
1,数字check
2,左补零操作(左补零function这里没有写),
3,唯一性check,数据库中这个字段是主键的话,肯定不能重复,把这个后台的信息报出来。
4,b字段就是一个下拉列表的实现,后台要把他按标准的控件代码输出来(
<select><option value='0'>aaa</option><option value='1'>bbb</option><option value='3'>ccc</option></select
>
一下是代码部分,就不多写注释了
//create input
function getelem(value, options) {
var el = document.createElement("input");
el.type="text";
el.value = value;
return el;
}
//getvalue
function getvalue(elem) {
var laddzerovalue = laddzeroFunc($(elem).val(),4,'0');
return laddzerovalue;
}
function bangocheck(value, colname) {
var rowid = $( "#grid_id" ).getGridParam( "selrow" );
var message = "";
if (f_numchar_check(value) != 1)
{
return [false,"请输入数字"];
}
else
{
var checkObj = $.ajax({
type:"POST",
url: '/Test/check/rowid/' + rowid + '/value/' + value,
async:false,
success:function(msg){
message = msg;
return msg;
}
});
if(message != "")
{
return [false,message];
}
else
{
return [true,""];
}
}
}
jQuery().ready(function(){
jQuery("#grid_id").jqGrid(
{
url:'/Test/data',
datatype: "json",
colNames:'aa','bb'],
colModel:[
{name:'aa',index:'aa', width:60,align:"center",editrules:{required:true,custom:true,custom_func:nocheck},edittype:'custom',editoptions:{custom_element:getelem,custom_value:getvalue,size:25},editable:true},
{name:'bb',index:'bb', width:60,editable:true,edittype:"select",editoptions:{dataUrl:'/Test/list/listflg/bb'}}
],
multiselect: true,
rowNum:10,
rownumbers:true,
rowList:[10,20,30],
pager: '#gridpager',
sortname: 'aa',
viewrecords: true,
sortorder: "asc",
editurl:'/Test/data/editflg/1',
height:300
}
);
jQuery("#grid_id").jqGrid('navGrid','#gridpager',{edit:false,add:false,del:true});
jQuery("#grid_id").jqGrid('inlineNav','#gridpager');
//$("#grid_id").trigger("reloadGrid");触发jqgrid刷新
});