首页 > 代码库 > 页面异步保存列表列
页面异步保存列表列
需求
1. 客户有一个需要,需要在列表页面中的某一列直接进行修改操作。如下:需要修改"实地落地"这一列。
实现
1 基本想法就是使用jquery的插件,所以经过一些筛选找到了joytech这个组件,并且进行了一些二次开发。
1 引用js
<script language="javascript" type="text/javascript" src=http://www.mamicode.com/"${cssPath}/js/jquery-1.7.1.min.js"></script>
<script type="text/javascript" language="javascript" src=http://www.mamicode.com/"${cssPath}/js/jquery.joytech.core.js"></script>
<script type="text/javascript" language="javascript" src=http://www.mamicode.com/"${cssPath}/js/jquery.joytech.editable.js"></script>
2 列表定义
定义一个class为 editable,用于对列进行选择(方便使用jquery选择器)
<div class="w100 editable" onClick="{currId='${ts.id}'}" > ${ts.realityLandingTime} </div>
3 代码实现
var currId = ""; function submitDo(oldValue,changeValue){ //alert(oldValue); //alert(changeValue); // alert("submitDo1..." + currId + " "+changeValue); if(oldValue==changeValue){ return; } $.ajax({ url:'/flight34/train/updateRealityLandingTime.do', //url:'${ctx}/index.jsp', async:false, cache:false, type:'post', dataType:'html', data:{ tsid:currId, realityLandingTime:changeValue, contentType: "application/x-www-form-urlencoded;charset=utf-8" }, success:function(html){ // alert(html) $("#warn").html("操作成功"); fail(); } }); } $(document).ready(function () { if($("#phase").val()==9){ $(".editable").editableText(submitDo); } });
依赖js文件
备注:这里我对joytech做过二次开发,主要是添加了异步提交方法
jquery.joytech.core.js
(function ($, undefined) { $.joytech = $.joytech || {}; })(jQuery);
jquery.joytech.editable.js
/*! * jQuery joytech editable 1.0.0 * * * Depends: * jquery.joytech.core.js */ (function ($) { $.joytech._editable = { _editor: null, _richeditor: null, _currenteditor: null, _holder: null, _submit: null, _blur: function (event) { var pthis = $.joytech._editable; if (pthis._holder) { var e = $(pthis._holder); switch (e.attr("joytech_editable_type")) { case 'text': e.text(pthis._currenteditor.value); break; case 'html': e.html(pthis._currenteditor.value); break; case 'value': e.val(pthis._currenteditor.value); break; } pthis._holder = null; $(pthis._currenteditor).hide(); } // alert("..."); $.joytech._editable._submit(pthis._currenteditor.oldValue,pthis._currenteditor.value); return false; }, _click: function (event) { var pthis = $.joytech._editable; if (pthis._editor == null) { $(document.body).append("<input type='text' style='position:absolute;' id='joytech__editable__editor'/>"); pthis._editor = $('#joytech__editable__editor')[0]; $(pthis._editor).blur($.joytech._editable._blur).hide(); } if (pthis._richeditor == null) { $(document.body).append("<textarea style='position:absolute;' id='joytech__editable__richeditor'/>"); pthis._richeditor = $('#joytech__editable__richeditor')[0]; $(pthis._richeditor).blur($.joytech._editable._blur).hide(); } pthis._holder = event.target; var e = $(event.target); var bricheditor = (e.attr("joytech_editable_type")) == 'html' && (e.attr("joytech_editable_usingricheditor")=='true'); if (bricheditor) pthis._currenteditor = pthis._richeditor; else pthis._currenteditor = pthis._editor; var i = $(pthis._currenteditor); var value = http://www.mamicode.com/'';>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。