zoukankan      html  css  js  c++  java
  • easyUI +js+ajax+form

    html

    <#include "/common/layout.html">
    <@layout title="" scripts=["/assets/js/common/gridHelper.js","/assets/wisdom/paymentDetail/js/paymentDetail.js","/assets/js/common/formaterHelp.js"] styles=[] >

    <div class="easyui-layout" data-options="border:false,fit:true">
    <div data-options="region:'north',border:false" style="overflow:hidden;padding:10px;">
    <label style="color: red;font-weight: bold"> ${(weixinAccount.accountName)! }</label>
    <br><br>
    <div class="easyui-panel" title="re" style="1050px;height:500px;overflow: hidden;" >

    <input type="hidden" id="reportType" name="wxSchoolWisdomPaymentDetail.reportType" />
    <input type="hidden" id="accountId" name="wxSchoolWisdomPaymentProject.accountId" value="${(weixinAccount.id)! }" />
    <input type="hidden" id="ids" name="wxSchoolWisdomPaymentDetail.ids" />
    <div class="easyui-panel" style="padding:5px; 100%;height: 50px;font-size: 16px;">

    <div style="float: left;">
    <input type="radio" name="adminFlag" value="0" onclick="rmtManager.grade()">按年级</input>
    <input type="radio" name="adminFlag" value="1" onclick="rmtManager.ofclass()">按班级</input>
    <input type="radio" name="adminFlag" value="2" onclick="rmtManager.person()">按个人</input>

    </div>
    <div style="float: right;">
    <input type="button" class="easyui-linkbutton" value="保存" onclick="updateDatagrid(this)"/>
    </div>
    <body>

    <div class="panel easyui-fluid" style="display: block; 30%;height:800px;float: left;border:1px solid #969696">
    <table id="dg" class="easyui-datagrid" title="缴费范围">
    </table>
    </div>

    <div style="float:right;69%;height:400px;margin-bottom: 150px;">
    <div id="ps" class="easyui-panel" title="缴费项目" style="100%;overflow:scroll;overflow-x: hidden; height: 700px;">
    <table id="glGrid" style="display:none; 100%;overflow:scroll;overflow-x: hidden;" data-options="url:'${ctx}/wisdom/paymentProject/getProData.html?accountId=${(weixinAccount.id)}',fit:true,nowrap:false,rownumbers:true,pagination:true,idField:'id'">
    <thead>
    <tr>
    <th data-options="field:'chk',checkbox:true"></th>
    <th data-options="field:'projectNo',sortable:true,80,align:'center'">项目编号</th>
    <th data-options="field:'projectName',sortable:true,80,align:'center'">项目名称</th>
    <th data-options="field:'projectAmt',sortable:true,80,align:'center',editor:'numberbox'">缴费金额</th>
    </tr>
    </thead>
    </table>
    </div>
    </div>

    <script type="text/javascript">
    $.extend($.fn.datagrid.methods, {
    editCell: function(jq,param){
    return jq.each(function(){
    var opts = $(this).datagrid('options');
    var fields = $(this).datagrid('getColumnFields',true).concat($(this).datagrid('getColumnFields'));
    for(var i=0; i<fields.length; i++){
    var col = $(this).datagrid('getColumnOption', fields[i]);
    col.editor1 = col.editor;
    if (fields[i] != param.field){
    col.editor = null;
    }
    }
    $(this).datagrid('beginEdit', param.index);
    for(var i=0; i<fields.length; i++){
    var col = $(this).datagrid('getColumnOption', fields[i]);
    col.editor = col.editor1;
    }
    });
    }
    });

    var editIndex = undefined;
    function endEditing(){
    if (editIndex == undefined){return true}
    if ($('#glGrid').datagrid('validateRow', editIndex)){
    $('#glGrid').datagrid('endEdit', editIndex);
    editIndex = undefined;
    return true;
    } else {
    return false;
    }
    }
    function onClickCell(index, field){
    if (endEditing()){
    $('#glGrid').datagrid('selectRow', index)
    .datagrid('editCell', {index:index,field:field});
    editIndex = index;
    }
    }
    </script>
    </body>

    </div>
    <div id="selectProject" >
    <div class="easyui-layout" data-options="fit:true">
    <div data-options="region:'center'" style="padding:10px;">
    <div id="project"style="margin-bottom:20px">

    </div>
    </div>
    <div data-options="region:'south',border:false" style="text-align:right;padding:5px 0 0;">
    <a id="select" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" onclick=" checkboxed('check1')">确定</a>
    </div>
    </div>
    </div>
    </div>
    </div>

    <input type="hidden" id="glPageType" value="index" />
    <input type="hidden" id="ctx" value="${ctx}" />
    </@layout>



    js
    1.使用easyUI的数据表格,实现将选中的项目添加到数据表格
    function checkboxed(z) {

    var objNameList = document.getElementsByClassName(z);

    var me = " <tr>";

    for (var i = 0; i < objNameList.length; i++) {

    if (objNameList[i].checked == true) {
    var value = objNameList[i].value;
    var array = value.split(",");
    /*
    me += '<td><input style="border:none;" type="text" readonly="readonly" name="prjNo" value="'+array[0]+'"></td>';
    me += '<td><input style="border:none;" type="text" readonly="readonly" name="prjName" value="'+array[1]+'"></td>';
    me +='<td><input type="text" name="prjAmt" value="'+array[2]+'"></td><td> <a href="#" class="easyui-linkbutton" onclick="deleteproject(this)">删除</a>';
    me +='<input type="hidden" id="'+ array[0]+'" name="projectNo" value="'+ array[0]+','+array[1]+','+array[2]+'"></td></tr>';
    $('#selectProject').window('close');*/
    var proNo = array[0];
    var proName = array[1];
    var payAmt = array[2];
    $("#project1").datagrid('appendRow',{projectNo:proNo,projectName:proName,align:'center',payAmt:payAmt,delete:'<a href="#" class="easyui-linkbutton" onclick="removeit()">删除</a>'});
    $('#selectProject').window('close');
    }
    }
    $('#project1').append(me)
    }


    2.实现CheckBox全选、全不选

    function checkAll(z) {
        var all=document.getElementById('all');//获取到点击全选的那个复选框的id
    var one=document.getElementsByClassName(z);;//获取到复选框的名称
    if(all.checked==true){//因为获得的是数组,所以要循环 为每一个checked赋值
    for(var i=0;i<one.length;i++){
    one[i].checked=true;
    }

    }else{
    for(var j=0;j<one.length;j++){
    one[j].checked=false;
    }
    }
    }


    3.实现将数据表单的值转换成json传到后台并转换成实体类
    function updateDatagrid(radionObj)
    { //js获取单选框的值
    var obj = document.getElementsByName("adminFlag");
    for(var i = 0; i < obj.length; i ++) {
    if (obj[i].checked) {
    var type=obj[i].value;
    }
    }
    var accountId = $("#accountId").val();
    //获取数据表单被选中的值并转换成json 格式传给后台
    var rows = $('#glGrid').datagrid('getSelections');
    var stu= $('#dg').datagrid('getSelections');
    var entities ="" ;
    var stus ="" ;
    var ctx = $("#ctx").val();

    // 循环 datagrid 中现有的数据,并且逐行复制给Entities ,并且转换成json格式
    // 在后台反序列话成对象的对象集合。
    for(i = 0;i < rows.length;i++)
    {
    entities = entities + JSON.stringify(rows[i]);
    }
    for(i = 0;i <stu.length;i++)
    {
    stus = stus + JSON.stringify(stu[i]);
    }
    $.ajax({
    url: ctx+'/wisdom/paymentDetail/studentProject.html',
    type: 'POST',
    async: true,
    dataType: 'json',
    data: {'entities': entities,'stus':stus,'type':type,'accountId':accountId},
    success: function (data) {
    if(data.message==""){
    alert("成功");
    }else{
    alert("失败");
    return;
    }
    $('#glGrid').datagrid('reload');
    }
    });
    }
    对应的action如下:
    String proj = request.getParameter("entities");
    CharSequence s1 = "}{";
    CharSequence s2 = "},{";
    proj = proj.replace(s1, s2);
    proj = "[" + proj.toString() + "]";
    JSONArray array =JSONArray.fromObject(proj.toString());
    WxSchoolWisdomPaymentProjectVO voss = new WxSchoolWisdomPaymentProjectVO();
    @SuppressWarnings("unchecked")
    List listDetail=(List)JSONArray.toCollection(array,voss.getClass());
    List<WxSchoolWisdomPaymentProjectVO> s = listDetail;




    4.ajax传值,并将后台返回数据显示到具体地方
               project_add: function(){
    var ctx = $("#ctx").val();
    var accountId = $("#accountId").val();
    $.ajax({
    url: ctx + '/wisdom/paymentProject/getData.html?wxSchoolWisdomPaymentProject.accountId='+accountId,
    data: JSON.stringify({'accountId': accountId}),
    type: 'post',
    contentType: 'application/json',
    dataType: 'json',
    error: function () {
    rmtHelper.showMsg("查询失败!");
    },
    success: function (data) {
    var menu = " ";
    var count;

    if (data) {
    $.each(data, function (index, param) {

    var projectNo = document.getElementById(param.projectNo);
    if(projectNo){
    menu += '<input type="checkbox" disabled="disabled" class="check1" name="projectNo" value="' + param.projectNo +','+ param.projectName + ','+ param.projectAmt + '" />';
    menu += '' + param.projectName + '';
    }
    else{
    menu += '<input type="checkbox"class="check1" name="projectNo" value="' + param.projectNo +','+ param.projectName + ','+ param.projectAmt + '" />';
    menu += '' + param.projectName + '';
    }

    count++;
    });
    $("#project").html("<br>" + menu + "<br/>");

    //id为selectProject的div写在html页面
             <div id="selectProject" >
    <div class="easyui-layout" data-options="fit:true">
    <div data-options="region:'center'" style="padding:10px;">
    <div id="project"style="margin-bottom:20px">

    </div>
    </div>
    <div data-options="region:'south',border:false" style="text-align:right;padding:5px 0 0;">
    <a id="select" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-ok'" onclick=" checkboxed('check1')">确定</a>
    </div>
    </div>
    </div>
    </div>
                         $('#selectProject').window({
                                   400,
    height:250,
    title:'请选择缴费项目',
    minimizable:false,
    maximizable:false,
    collapsible:false,
    modal:true
    });
    $('#selectProject').window('open');
    }
    }
    });
    },
    }
    });


    5.js实现数据表格
    (function($) {
    var pageType= $('#glPageType').val();

    var busMng = rmtCMHelper.createBusMngInst({
    busMngOptions:{

    ofclass: function(){
    var ctx = $("#ctx").val();
    var accountId = $("#accountId").val();
    var url = ctx+'/wisdom/classInfo/getClassInFo.html';
    $('#dg').datagrid({
    url:url,
    "100%",
    height:"700px",
    striped: true,
    loadMsg: '正在加载班级的信息...',
    pagination: true,
    pageSize: 10,
    pageNumber: 1,
    pageList: [10, 20, 30],
    queryParams: {"accountId":accountId},

    columns: [[
    { field: 'ck', checkbox: true, align: 'left', 50 },
    { field: 'id', 100, hidden: true },
    { field: 'gradeName', title: '年级名称', 80 },
    { field: 'className', title: '班级名称', 80 },
    ]]
    });
    },
    }

    6.js删除选定行
    function deleteproject(r){
    var i=r.parentNode.parentNode.rowIndex;
    document.getElementById('project1').deleteRow(i);
    }
    What do you want to be?
  • 相关阅读:
    C语言的数据、常量和变量
    C语言关键字、标识符和注释
    关于C/C++的一些讨论
    C++ 复合类型(上)
    C 函数
    C 字符输入输出和输入确认
    C++数据处理
    C控制语句:分支与跳转
    C++ 预备知识#关于C++
    范型在java中的应用
  • 原文地址:https://www.cnblogs.com/CatsBlog/p/9285455.html
Copyright © 2011-2022 走看看