zoukankan      html  css  js  c++  java
  • jqgard改变单元格后重新定值(事件和弹窗)

    <script type="text/javascript">
      var edit_row = 0;
      var edit_col = 0;
      var row_id = 0;
      var col_name = 0;
      $(document).ready(function () {
    
        var col2 = '<span class="red">*</span>仓库';
       
        $("#grid").jqGrid({
    
          datatype: "local",//数据来源,本地数据(local,json,jsonp,xml等)
          height: '90%',//高度,表格高度。可为数值、百分比或'auto'
          colNames: ['操作', col2, '商品备注',],
          colModel: [
          {
              name: 'shuliang',  100, editable: true, editoptions: {
                size: 25,
                dataEvents: [
                  {
                    type: 'change',     //blur,focus,change............. //事件重新赋值
                    fn: function (e) {
                      reload_val();
                    }
                  }
                ]
              }
            },
        
          {
            name: "ck1",
             100,
            link: "inventory",
            editable: true,
            edittype: "custom",
            editoptions: {
            custom_element: function (t, e) {
              $("#p_ck1").html('<div class="pr" id="ck1"><input type="text" class="textbox storageAuto customelement ui-combo-active" name="locationName" autocomplete="off" id="1_locationName" style="outline: -webkit-focus-ring-color auto 5px;"><span class="ui-icon-triangle-1-s"></span></div>');
              return $("#ck1");
            },
            custom_value: function (t, e, a) {
              var ba = $("#ck1name").val();//弹窗赋值
              return ba;
            },
    
            trigger: "ui-icon-triangle-1-s"
          }
          },
    
        { name: '',  70, formatter: cLink ,align:"center"},
    
    
    
          ],
    
          cellEdit: true,
          cellurl: '/',
          rowNum: 10,
          rowList: [10, 20, 30],
          sortname: 'id',
          sortorder: "desc",
          pagerpos: "left",//分页位置
          rownumbers:true,
          pgbuttons: true,//翻页按钮
          pagination: true,
          altRows: !0,
          gridview: !0,
          shrinkToFit: !1,
          cellLayout: 8,
          auto !0,
          pager: "#page",
          viewrecords: !0,
          cmTemplate: {
            sortable: !1,
            title: !1
          },
          loadError: function (t, e, i) {
           
              alert("操作失败了哦,请检查您的网络链接!");
          },
          beforeEditCell: function (rowid, cellname, value, iRow, iCol) {
            col_name = cellname;
            edit_row = iRow;
            edit_col = iCol;
            row_id = rowid;
            var gname = $("#grid").jqGrid("getCell", row_id, 'goodsname');
            $("#goodsname").val(gname);
    
           
          },
          // 合计
          footerrow: true,
          gridComplete: function () {
            var shuliangs = parseFloat($("#grid").getCol('shuliang', false, 'sum')).toFixed(2);
            $("#yh_price").val(total_prices);
            $("#grid").footerData('set', { "goodsname": '合计', shuliang: shuliangs});
          },
        });
    
        var mydata = [];
        for (var i = 0; i < 5; i++) {
          var obj = { id: i + 1, goodsname: "", goodstype: "", goodsmark: "", dw: "", shuliang: "", ck1: "", ck2: "", ck3: "", mark: "", goodsid: "0", ck1_id: "0", ck2_id: "0" }
          mydata.push(obj);
        }
        for (var i = 0; i <= mydata.length; i++) {
          jQuery("#grid").jqGrid('addRowData', i + 1, mydata[i]);
        }
    
    
        //增加、删除按钮
        function cLink(cellvalue, options, rowObject) {
          return '<div class="operating"><span class="ui-icon ui-icon-plus" title="新增行" onclick="add_row(' + options.rowId + ')" style="margin:0 2px;"></span> <span class="ui-icon ui-icon-trash" onclick="del_row(' + options.rowId + ')" title="删除行" style="margin:0 2px;">删除</span></div>';
        }
    
    
    
        // 选择仓库弹窗
        $(".grid-wrap").on("click", ".ui-icon-triangle-1-s", function (e) {
          var top = $(this).offset().top;
          var left = $(this).offset().left;
          $("#chooseBatch").show();
          $("#chooseBatch").css({ "top": (top + 22) + "px", "left": (left - 78) + "px" })
        })
        // 仓库选择鼠标移入移出
        $(".ui-droplist-wrap .droplist .list-item").hover(function () {
          $(this).addClass("on");
        }, function () {
          $(this).removeClass("on");
        })
    
        $("#chooseBatch .droplist").on("click", ".list-item", function (e) {
          var title = $(this).attr("title");
          //仓库1
          if (col_name == "ck1") {
            var ck1_id = $(this).attr("ck_id");
            $("#ck1name").val(title);
            $("#grid").jqGrid("setCell", row_id, 'ck1_id', ck1_id);
            $("#grid").jqGrid("setCell", row_id, 'ck3', 1000);//库存
            $("#grid").jqGrid("setCell", row_id, 'ck1', title);//及时保存
          }
    
          $("#grid").saveRow(row_id, false);
          $("#chooseBatch").hide();
    
        });
    
      });
    
    
    
    </script>
    
    
    function reload_val() {
        var rid = row_id;
        var c_name = col_name;
    
        var $shuliang = parseInt($("#grid").jqGrid("getCell", rid, 'shuliang'));//数量
        var $price = parseFloat($("#grid").jqGrid("getCell", rid, 'price'));//单价
    
        var $tax_lv = parseFloat($("#grid").jqGrid("getCell", rid, 'tax_lv'));//税率
        var $tax_lv1 = 100 + $tax_lv;
    
        var $zk_lv = parseFloat($("#grid").jqGrid("getCell", rid, 'zk_lv'));//折扣率
        var $zk_lv1 = 100 - $zk_lv;
    
         
    
        if (c_name == "shuliang") {
        //改变数量
        $("#grid").jqGrid("setCell", rid, 'base_shuliang', $shuliang);
        $("#grid").jqGrid("setCell", rid, 'jine', $price * $zk_lv1 / 100 * $shuliang);//金额--折后单价乘数量
    
        } else if (c_name == "price") {
          
        }
    
    
        // 合计的变量
    
    
        var shuliangs = $("#grid").getCol('shuliang', false, 'sum');
    
        $("#before_yh_price").val(total_prices);
        $("#grid").footerData('set', { "goodsname": '合计', shuliang: shuliangs, base_shuliang: base_shuliangs, zk_e: zk_es, jine: jines, tax_e: tax_es, total_price: total_prices });
    }
  • 相关阅读:
    CSS的Flex弹性布局概念
    配置不同二级域名访问不同端口的应用
    JAVA调用FFMpeg进行转码等操作
    python获取页面文字信息
    gradle配置多个代码仓库repositories
    转载:微信小程序源码提取反编译
    Maven相关:mvn的配置和简单命令
    Spring Data JPA简单查询接口方法速查
    tomcat server.xml详解
    mysql批量插入优化
  • 原文地址:https://www.cnblogs.com/zhangyouwu/p/15397258.html
Copyright © 2011-2022 走看看