已经有前辈写了自定义的jqgrid,怎么加上类型为上传附件或图片的

lusawlx 2023-11-14 11:59:17

 // 初始化编辑单元格
 var initEditCell = function ($self, op, col) {
     switch (col.data.edit.type) {
         case 'input':          // 输入框 文本,数字,密码
             col.$edit = $('<div class="jfgrid-edit-cell"><input id="jfgrid_edit_' + op.id + '_' + col.data.name + '" /></div>');
             if (col.frozen) {
                 $self.find('#jfgrid_left_' + op.id).append(col.$edit);
             }
             else {
                 $self.find('#jfgrid_right_' + op.id).append(col.$edit);
             }
             col.$edit.on("keypress", function (e) {
                 if (event.keyCode == "13") {
                     hideEditCell();
                 }
             });
             break;
         case 'select':         // 下拉框选择
             col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" ></div></div>');
             if (col.frozen) {
                 $self.find('#jfgrid_left_' + op.id).append(col.$edit);
             }
             else {
                 $self.find('#jfgrid_right_' + op.id).append(col.$edit);
             }
             col.data.edit.op = col.data.edit.op || {};
             col.$edit.find('div').uqselect(col.data.edit.op);

             col.data.edit.op.value = col.$edit.find('div')[0]._uqselect.dfop.value;
             col.data.edit.op.text = col.$edit.find('div')[0]._uqselect.dfop.text;
             if (col.data.edit.datatype == 'dataItem') {
                 uquick.clientdata.getAllAsync('dataItem', {
                     code: col.data.edit.code,
                     callback: function (dataes) {
                         var list = [];
                         $.each(dataes, function (_index, _item) {
                             list.push({ id: _item.value, text: _item.text, title: _item.text, k: _index });
                         });
                         col.$edit.find('div').uqselectRefresh({ data: list });
                     }
                 });
             }
             else if (col.data.edit.datatype == 'dataSource') {
                 uquick.clientdata.getAllAsync('sourceData', {
                     code: col.data.edit.code,
                     callback: function (dataes) {
                         col.$edit.find('div').uqselectRefresh({
                             data: dataes
                         });
                     }
                 });
             }

             break;
         case 'radio':          // 单选
             col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" class="radio"  ></div></div>');
             if (col.frozen) {
                 $self.find('#jfgrid_left_' + op.id).append(col.$edit);
             }
             else {
                 $self.find('#jfgrid_right_' + op.id).append(col.$edit);
             }
             if (col.data.edit.datatype == 'dataItem') {
                 col.$edit.find('div').uqRadioCheckbox({
                     type: 'radio',
                     code: col.data.edit.code
                 });
             }
             else if (col.data.edit.datatype == 'dataSource'){
                 col.$edit.find('div').uqRadioCheckbox({
                     type: 'radio',
                     dataType: 'dataSource',
                     code: col.data.edit.code,
                     text: col.data.edit.text,
                     value: col.data.edit.value
                 });
             }
             else {
                 $.each(col.data.edit.data || [], function (id, item) {
                     var $point = $('<label><input name="jfgrid_edit_' + op.id + '_' + col.data.name + '" value="' + item.id + '"' + (col.data.edit.dfvalue == item.id ? "checked" : "") + ' type="radio">' + item.text + '</label>');
                     col.$edit.find('div').append($point);
                 });
             }
             break;
         case 'checkbox':       // 多选
             col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" class="checkbox"  ></div></div>');
             if (col.frozen) {
                 $self.find('#jfgrid_left_' + op.id).append(col.$edit);
             }
             else {
                 $self.find('#jfgrid_right_' + op.id).append(col.$edit);
             }
             if (col.data.edit.datatype == 'dataItem') {
                 col.$edit.find('div').uqRadioCheckbox({
                     type: 'checkbox',
                     code: col.data.edit.code
                 });
             }
             else if (col.data.edit.datatype == 'dataSource') {
                 col.$edit.find('div').uqRadioCheckbox({
                     type: 'checkbox',
                     dataType: 'dataSource',
                     code: col.data.edit.code,
                     text: col.data.edit.text,
                     value: col.data.edit.value
                 });
             }
             else {
                 $.each(col.data.edit.data || [], function (id, item) {
                     var $point = $('<label><input name="jfgrid_edit_' + op.id + '_' + col.data.name + '" value="' + item.id + '"' + (col.data.edit.dfvalue == item.id ? "checked" : "") + ' type="checkbox">' + item.text + '</label>');
                     col.$edit.find('div').append($point);
                 });
             }
             break;
         case 'datatime':       // 时间
             var dateformat = col.data.edit.dateformat == '0' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm';
             col.$edit = $('<div class="jfgrid-edit-cell"><input id="jfgrid_edit_' + op.id + '_' + col.data.name + '" onClick="WdatePicker({dateFmt:\'' + dateformat + '\',qsEnabled:false,isShowClear:false,isShowOK:false,isShowToday:false,onpicked:function(){$(\'#jfgrid_edit_' + op.id + '_' + col.data.name + '\').trigger(\'change\');}})"  type="text" class="form-control" /></div>');
             if (col.frozen) {
                 $self.find('#jfgrid_left_' + op.id).append(col.$edit);
             }
             else {
                 $self.find('#jfgrid_right_' + op.id).append(col.$edit);
             }
             col.$edit.on("keypress", function (e) {
                 if (event.keyCode == "13") {
                     hideEditCell();
                 }
             });
             break;
         case 'layer':          // 弹层
             break;

      
     }
 };

 

 

...全文
441 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

非常不错

huangfenzi 11-14
  • 打赏
  • 举报
回复

写的好啊,感觉受益匪浅

lusawlx 11-14
  • 举报
回复
@huangfenzi 想知道如果一行要加上上传多张图片要怎么弄

87,838

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧