php与前端(二):页面table的单元格的数据add和update
2016-11-11 19:32
337 查看
适合场景是修改的时候不跳页面,也不弹模态框,这么刁钻能实现吗?能,直接在,单元格内写表单修改,样式如下图
1:html代码部分
包括要修改的html和新增的html
2:js部分
1:html代码部分
包括要修改的html和新增的html
<table id="btnShow" class="table table-bordered table-hover" style="word-break:break-all;" > <thead> <tr> <th>行类型</th> <th>排序</th> <th>表达式描述</th> <th>操作</th> </tr> </thead> <tbody> <volist name="rowArr" id="list"> <tr> <td> <select name="row_type-{$list.row_id}_{$list.tpl_id}" > <option value="1" <?php echo $list['row_type']==1 ? 'selected' : '' ?> >一维数据</option> <option value="2" <?php echo $list['row_type']==2 ? 'selected' : '' ?> >二维数据</option> </select> </td> <td> <input type="text" class="listorder" name="row_sort-{$list.row_id}_{$list.tpl_id}" value="{$list.row_sort}" > </td> <td> <textarea name="desc-{$list.row_id}_{$list.tpl_id}"></textarea> </td> <td> <button type="button" rel="{$list.row_id}_{$list.tpl_id}" class="button " data-target="btn-save"> 保存 </button> <button type="button" rel="{$list.row_id}_{$list.tpl_id}" class="button " data-target="btn-delete"> 删除 </button> <a href="__CONTROLLER__/cellList/tplId/{$list.tpl_id}/rowId/{$list.row_id}"> <button type="button" rel="{$list.row_id}_{$list.tpl_id}" class="button" data-target="btn-edit"> 单元格 </button> </a> </td> </tr> </volist> <!--新增部分html--> <tr> <td> <select name="row_type" > <option value="1">一维数据</option> <option value="2">二维数据</option> </select> </td> <td ><input type="text" name="row_sort" value="0" ></td> <td> <textarea name="desc-{$list.row_id}_{$list.tpl_id}"></textarea> </td> <td> <button type="button" class="button" data-target="btn-save" isadd="true"> 确定新增 </button> </td> </tr> </tbody> </table>
2:js部分
<script> $(function(){ $(document).on('click','button',function(e){ var _self = $(this); var target = _self.attr('data-target'); var isAdd = _self.attr('isadd'); var rel = _self.attr('rel'); switch(target){ case 'btn-save': saveAction(_self,isAdd); break; case 'btn-delete': deleteAction({ row_id:rel.split('_')[0], tpl_id:rel.split('_')[1] }); break; case 'btn-edit': break; case 'btn-listorder': listorderAction(); break; } }); var tplId = $("#tplId").val(); var jump_url = "__CONTROLLER__/rowList/tplId/"+tplId; var listorderAction = function(){ var data = $('.listorder').serializeArray(); if($(data).length >0){ postData = {} $(data).each(function(i){ var name = this.name.split('-')[1]; name = name.split('_')[0]; postData[name] = this.value; }); var url = "__CONTROLLER__/listRowOrder"; $.post(url,postData,function(result){ if(result.status == 1){ return dialog.success(result.message,jump_url); }else if(result.status == 0){ return dialog.error(result.message); } },"json"); }else{ return dialog.error('没有排序的行'); } }; var saveAction = function(_that,isAdd){ var opts ={}; var tr = _that.parents('tr'); var url = ''; if(!isAdd){ var rel =_that.attr('rel'); opts['row_id']=rel.split('_')[0]; opts['tpl_id']=rel.split('_')[1]; url = 'rowUpdate'; }else{ opts['tpl_id']=$("#tplId").val(); url = 'rowAdd'; } var texts = tr.find('input[type="text"]'); var selects = tr.find('select'); var radios = tr.find(':radio:checked'); var textarea = tr.find('textarea'); for(var i= 0,len=texts.length;i<len;i++){ var temp = $(texts[i]); var val = temp.val(); var name = temp.attr('name').split('-')[0]; opts[name] = val; } for(var i= 0,len=selects.length;i<len;i++){ var temp = $(selects[i]); var val = temp.val(); var name = temp.attr('name').split('-')[0]; opts[name] = val; } for(var i= 0,len=radios.length;i<len;i++){ var temp = $(radios[i]); var val = temp.val(); var name = temp.attr('name').split('-')[0]; opts[name] = val; } for(var i= 0,len=textarea.length;i<len;i++){ var temp = $(textarea[i]); var val = temp.val(); var name = temp.attr('name').split('-')[0]; opts[name] = val; } var post_url = "__CONTROLLER__/"+url; $.post(post_url,opts,function(result){ if(result.status == 1){ return dialog.success(result.message,jump_url); }else if(result.status == 0){ return dialog.error(result.message); } },'json'); } }); </script>
相关文章推荐
- phpStudy4——前端页面使用Ajax请求并解析php返回的json数据
- php+mysql创建数据表,获取数据表内容,渲染到前端页面
- 利用php和js实现页面数据刷新
- php录入页面中动态从数据库中提取数据的实现
- mysql从一个表提取数据更新另外一个表(Cross Table Update with MySQL)
- js将页面table数据保存为excel!(经测试可用)
- php页面数据列表实现excel导出功能
- php录入页面中动态从数据库中提取数据的实现
- C# 抓取页面table数据并分析到数据库
- UpdatePanel 和 Repeater实现页面局部数据无刷新 (asp.net C#)
- c# asp:UpdatePanel 和 asp:Repeater实现页面局部数据无刷新取得
- asp.net如何将页面Table控件中的数据写到excel中总结
- SqlDataAdapter.TableMappings.Add()和SqlDataAdapter.Update()的参数问题。
- php录入页面中动态从数据库中提取数据的实现
- 使用PHP socke 向指定页面提交数据
- PHP常见缓存技术分析 php缓存机制 数据缓存 页面缓存 内存缓存 时间触发缓存 内容触发缓存 静态缓存
- php录入页面中动态从数据库中提取数据的实现
- php录入页面中动态从数据库中提取数据的实现
- php页面报错 XML 分析失败: 在文档元素之后写入废数据
- PHP代码根据数据表结构自动生成数据录入页面