jquery miniui 学习笔记



1.取组件值 传递form data,load发送 请求加载数据
 <script type="text/javascript">
  mini.parse();
  // get grid
  var grid = mini.get("grid");
  var form = new mini.Form("#form");
  function search() {
  //取得某个id组件的 value
   var rq = mini.get("yf").getValue();
   if (rq ) {
   // 将form 里的参数和值传给 grid发送的请求
    grid.load(form.getData(true));
   } else {
    mini.alert("请选择");
   }
  }
 </script>

 2.
 confirm确定框 确定title,选项,执行方法
 function cz() {
 \\取得grid选中行(单选)
   var row = grid1.getSelected();
   if (row) {
    mini.confirm("确认计算?",
        "确定?",
        function(action) {
        \\action 选项
         if (action == "ok") {
          var jhzt = '10';
          var flbm = mini.get("flbm").getValue();
          \\ok 则发送ajax请求,执行操作
          $.ajax({
             url : "${pageContext.request.contextPath}/js/cz.action",
             type : "POST",
             data : {
               flbm:flbm,
               pzh:row.pzh,
               jhzt:jhzt
             },
             success : function(text) {
             mini.alert("操作成功! ");
             \\重新加载数据
              grid.reload();
             },
             error : function(text) {
              mini.alert("操作失败! ");
             }
            });
         } else {
         }
        });
   } else {
   \\如果没有选中任何数据,弹出消息
    mini.alert("请选择一条数据");
   }
  }

 3. 渲染器
 <div  field="tjskg"  name="tjskg" allowSort="true"  renderer="onActionRenderer">按钮</div>
 <script type="text/javascript">
 function onActionRenderer(e) {
             var grid = e.sender;
            var  record = e.record;
             var  uid = record._uid; 
             var column = e.column; 
             var s = ' <a class="mini-button" οnclick="js(\''+ uid +'\')">'+e.value+'</a>';   
           return s;
         }

 </script>

 4.数据转成json,提交表单
 //提交表单数据
 var form = new mini.Form("#form1");            
 var data = form.getData();      //获取表单多个控件的数据
 var json = mini.encode(data);   //序列化成JSON
 $.ajax({
     url: "../data/FormService.aspx?method=SaveData",
     type: "post",
     data: { submitData: json },
     success: function (text) {
         alert("提交成功,返回结果:" + text);
     }
 });

 5.json 反序列化成对象
 加载表单
 $.ajax({
     url: "../data/FormService.aspx?method=LoadData",
     type: "post",
     success: function (text) {
         var data = mini.decode(text);   //反序列化成对象
         form.setData(data);             //设置多个控件数据
     }
 });

 6.发送ajax请求, 生成table ,设置td 跨行跨列属性
 function setData(data) {
    data = mini.clone(data);
    var sbjgbh = data.sbjgbh;
    var jsrq = data.jsrq;
    var compname = data.compname;
    var n = jsrq.substring(0, 4);
    var y = jsrq.substring(4, 6);
    $.ajax({
       url : "${pageContext.request.contextPath}/jh/dd.action",
       type : "POST",
       data : {
        sbjgbh : sbjgbh,
        jsrq : jsrq
       },
       success : function(data) {
        if (data.success == true) {
         var result = data.result;
         var colnamef = [ 'zs', 'mz', 'zy', 'cwz',
           'cwmz', 'cwzy', 'zcz', 'zcmz', 'zczy',
           'zqz', 'zqmz', 'zqzy' ]; 
         document.getElementById("jsrq").innerHTML = "&nbsp;"
           + n + "年" + "&nbsp;" + y + "月";
         document.getElementById("compname").innerHTML = " 机构(名称):"
           + compname;
         insertRowsIntoSpace( result,colnamef, "tbody1");
        }
       },
       error : function(data) {
        mini.alert("数据未能传递!");
       }
      });
   }

   function insertRowsIntoSpace(data,colnamef,
     tablenamef) { 
    for ( var i = 0; i < data.length; i++) {
     var row = document.createElement("tr");
     for ( var j = 0; j < colnamef.length; j++) {
      var colume = document.createElement("td");
      var key = colnamef[j];
      var value = data[i][key];
      colume.appendChild(document.createTextNode(value));
      row.appendChild(colume);
     }
     table.appendChild(row);
    }
    var row = document.createElement("tr");
    var colume = document.createElement("td");
    colume.innerHTML = '备注';
    //colume.colSpan=12;
    //colume.setAttribute("rowSpan", "2");
    colume.setAttribute("colSpan", "12");
    colume.style.cssText="border:0px;";
    row.appendChild(colume);
    table.appendChild(row);
   }
 7.初始化界面及数据  setdata
 function setData(data) {
    //跨页面传递的数据对象,克隆后才可以安全使用
    data = mini.clone(data);
    flag = data.flag;
    wbwjm = data.wbwjm;
    mini.get('flag').setValue(flag);
    mini.get('wbwjm').setValue(wbwjm);
   }


8.选中多选行,取行中某列参数值

//jquery的push使用方法,可向数组的末尾添加一个或多个元素,并返回新的长度,

var rows = grid.getSelecteds();
            if (rows.length > 0) {
                if (confirm("确定删除选中记录?")) {
                    var ids = [];
                    for (var i = 0, l = rows.length; i < l; i++) {
                        var r = rows[i];


                        ids.push(r.id);
                    }

                    //为数组添加分隔符
                    var id = ids.join(',');
                    grid.loading("操作中,请稍后......");
                    $.ajax({
                        url: "../data/AjaxService.aspx?method=RemoveEmployees&id=" +id,
                        success: function (text) {
                            grid.reload();
                        },
                        error: function () {
                        }
                    });
                }
            } else {
                alert("请选中一条记录");
            }

 12.datagrid  显示 带小数的列,例如 带两位小数

12.1       <div field="salary" numberFormat="¥#,0.00" align="right" width="100" allowSort="true">薪资</div>                                
               <div field="age" width="100" allowSort="true" decimalPlaces="2" dataType="float">年龄</div>

12.2       datatype="float" + numberFormat="n2" 

12.3       datatype="currency"


1.取组件值 传递form data,load发送 请求加载数据
 <script type="text/javascript">
  mini.parse();
  // get grid
  var grid = mini.get("grid");
  var form = new mini.Form("#form");
  function search() {
  //取得某个id组件的 value
   var rq = mini.get("yf").getValue();
   if (rq ) {
   // 将form 里的参数和值传给 grid发送的请求
    grid.load(form.getData(true));
   } else {
    mini.alert("请选择");
   }
  }
 </script>

 2.
 confirm确定框 确定title,选项,执行方法
 function cz() {
 \\取得grid选中行(单选)
   var row = grid1.getSelected();
   if (row) {
    mini.confirm("确认计算?",
        "确定?",
        function(action) {
        \\action 选项
         if (action == "ok") {
          var jhzt = '10';
          var flbm = mini.get("flbm").getValue();
          \\ok 则发送ajax请求,执行操作
          $.ajax({
             url : "${pageContext.request.contextPath}/js/cz.action",
             type : "POST",
             data : {
               flbm:flbm,
               pzh:row.pzh,
               jhzt:jhzt
             },
             success : function(text) {
             mini.alert("操作成功! ");
             \\重新加载数据
              grid.reload();
             },
             error : function(text) {
              mini.alert("操作失败! ");
             }
            });
         } else {
         }
        });
   } else {
   \\如果没有选中任何数据,弹出消息
    mini.alert("请选择一条数据");
   }
  }

 3. 渲染器
 <div  field="tjskg"  name="tjskg" allowSort="true"  renderer="onActionRenderer">按钮</div>
 <script type="text/javascript">
 function onActionRenderer(e) {
             var grid = e.sender;
            var  record = e.record;
             var  uid = record._uid; 
             var column = e.column; 
             var s = ' <a class="mini-button" οnclick="js(\''+ uid +'\')">'+e.value+'</a>';   
           return s;
         }

 </script>

 4.数据转成json,提交表单
 //提交表单数据
 var form = new mini.Form("#form1");            
 var data = form.getData();      //获取表单多个控件的数据
 var json = mini.encode(data);   //序列化成JSON
 $.ajax({
     url: "../data/FormService.aspx?method=SaveData",
     type: "post",
     data: { submitData: json },
     success: function (text) {
         alert("提交成功,返回结果:" + text);
     }
 });

 5.json 反序列化成对象
 加载表单
 $.ajax({
     url: "../data/FormService.aspx?method=LoadData",
     type: "post",
     success: function (text) {
         var data = mini.decode(text);   //反序列化成对象
         form.setData(data);             //设置多个控件数据
     }
 });

 6.发送ajax请求, 生成table ,设置td 跨行跨列属性
 function setData(data) {
    data = mini.clone(data);
    var sbjgbh = data.sbjgbh;
    var jsrq = data.jsrq;
    var compname = data.compname;
    var n = jsrq.substring(0, 4);
    var y = jsrq.substring(4, 6);
    $.ajax({
       url : "${pageContext.request.contextPath}/jh/dd.action",
       type : "POST",
       data : {
        sbjgbh : sbjgbh,
        jsrq : jsrq
       },
       success : function(data) {
        if (data.success == true) {
         var result = data.result;
         var colnamef = [ 'zs', 'mz', 'zy', 'cwz',
           'cwmz', 'cwzy', 'zcz', 'zcmz', 'zczy',
           'zqz', 'zqmz', 'zqzy' ]; 
         document.getElementById("jsrq").innerHTML = "&nbsp;"
           + n + "年" + "&nbsp;" + y + "月";
         document.getElementById("compname").innerHTML = " 机构(名称):"
           + compname;
         insertRowsIntoSpace( result,colnamef, "tbody1");
        }
       },
       error : function(data) {
        mini.alert("数据未能传递!");
       }
      });
   }

   function insertRowsIntoSpace(data,colnamef,
     tablenamef) { 
    for ( var i = 0; i < data.length; i++) {
     var row = document.createElement("tr");
     for ( var j = 0; j < colnamef.length; j++) {
      var colume = document.createElement("td");
      var key = colnamef[j];
      var value = data[i][key];
      colume.appendChild(document.createTextNode(value));
      row.appendChild(colume);
     }
     table.appendChild(row);
    }
    var row = document.createElement("tr");
    var colume = document.createElement("td");
    colume.innerHTML = '备注';
    //colume.colSpan=12;
    //colume.setAttribute("rowSpan", "2");
    colume.setAttribute("colSpan", "12");
    colume.style.cssText="border:0px;";
    row.appendChild(colume);
    table.appendChild(row);
   }
 7.初始化界面及数据  setdata
 function setData(data) {
    //跨页面传递的数据对象,克隆后才可以安全使用
    data = mini.clone(data);
    flag = data.flag;
    wbwjm = data.wbwjm;
    mini.get('flag').setValue(flag);
    mini.get('wbwjm').setValue(wbwjm);
   }


8.选中多选行,取行中某列参数值

//jquery的push使用方法,可向数组的末尾添加一个或多个元素,并返回新的长度,

var rows = grid.getSelecteds();
            if (rows.length > 0) {
                if (confirm("确定删除选中记录?")) {
                    var ids = [];
                    for (var i = 0, l = rows.length; i < l; i++) {
                        var r = rows[i];


                        ids.push(r.id);
                    }

                    //为数组添加分隔符
                    var id = ids.join(',');
                    grid.loading("操作中,请稍后......");
                    $.ajax({
                        url: "../data/AjaxService.aspx?method=RemoveEmployees&id=" +id,
                        success: function (text) {
                            grid.reload();
                        },
                        error: function () {
                        }
                    });
                }
            } else {
                alert("请选中一条记录");
            }

 12.datagrid  显示 带小数的列,例如 带两位小数

12.1       <div field="salary" numberFormat="¥#,0.00" align="right" width="100" allowSort="true">薪资</div>                                
               <div field="age" width="100" allowSort="true" decimalPlaces="2" dataType="float">年龄</div>

12.2       datatype="float" + numberFormat="n2" 

12.3       datatype="currency"


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 jQuery MiniUI 实现 mini-combox 跨页多选,可以按照以下步骤进行: 1. 引入 jQueryMiniUI 的相关文件: ```html <script src="jquery.min.js"></script> <script src="miniui/miniui.js"></script> <link href="miniui/themes/default/miniui.css" rel="stylesheet" /> <link href="miniui/themes/icons.css" rel="stylesheet" /> ``` 2. 创建 mini-combox 组件并设置相关属性: ```html <input id="myCombox" name="myCombox" class="mini-combobox" value="" showNullItem="true" popupWidth="250" onvaluechanged="onValueChanged" /> ``` 其中,`onvaluechanged` 属性绑定了一个回调函数,用于在用户选择选项后更新选择结果。 3. 在 JavaScript 中初始化 mini-combox 组件并设置数据源: ```javascript $(function() { var myCombox = mini.get("myCombox"); myCombox.setData([{ id: 1, text: "选项1" }, { id: 2, text: "选项2" }, { id: 3, text: "选项3" }, { id: 4, text: "选项4" }, { id: 5, text: "选项5" }, { id: 6, text: "选项6" }, { id: 7, text: "选项7" }, { id: 8, text: "选项8" }, { id: 9, text: "选项9" }, { id: 10, text: "选项10" }]); }); ``` 其中,`setData` 方法用于设置 mini-combox 的数据源。 4. 实现多页加载和多选功能: ```javascript var pageSize = 5; // 每页显示的选项数 var selectedItems = []; // 保存用户选择的选项 function onValueChanged(e) { // 当用户选择一个选项时触发 var item = e.selected; if (item) { // 如果选项还没有被选择过,则添加到选择结果列表中 if ($.inArray(item.id, selectedItems) == -1) { selectedItems.push(item.id); } } else { // 如果选项已经被选择过,则从选择结果列表中移除 var index = $.inArray(e.value, selectedItems); if (index >= 0) { selectedItems.splice(index, 1); } } } function loadPage(pageIndex) { // 加载指定页的选项并更新 mini-combox 的数据源 var start = pageIndex * pageSize; var end = start + pageSize; var data = [{ id: -1, text: "全部" }].concat(selectedItems.map(function(id) { return { id: id, text: "选项" + id }; })).concat(myData.slice(start, end)); var myCombox = mini.get("myCombox"); myCombox.setData(data); } $(function() { var myData = [{ id: 1, text: "选项1" }, { id: 2, text: "选项2" }, { id: 3, text: "选项3" }, { id: 4, text: "选项4" }, { id: 5, text: "选项5" }, { id: 6, text: "选项6" }, { id: 7, text: "选项7" }, { id: 8, text: "选项8" }, { id: 9, text: "选项9" }, { id: 10, text: "选项10" }]; // 初始化 mini-combox 组件 var myCombox = mini.get("myCombox"); myCombox.set({ pageSize: pageSize, onbeforeload: function(e) { var pageIndex = e.pageIndex; loadPage(pageIndex); e.cancel = true; // 取消默认的数据加载方式 } }); loadPage(0); }); ``` 其中,`loadPage` 方法用于加载指定页的选项并更新 mini-combox 的数据源。`selectedItems` 数组保存用户选择的选项,其中的元素为选项的 ID。在 `onValueChanged` 回调函数中,每当用户选择或取消一个选项时,都会更新 `selectedItems` 数组,并调用 `loadPage` 方法重新加载 mini-combox 的数据源。同时,为了实现多选功能,需要在每个选项前面添加一个复选框,并在选择结果列表中保存用户选择的所有选项。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值