js编辑技术累积
2016-01-29 17:31 qqForever 阅读(222) 评论(0) 编辑 收藏 举报1.当输入框发生改变时的方法。
$("#member").on('input',function(){ ... } );
2.数据保留两位小数。
price=price.toFixed(2)
3.改变价格(多条同样的标签,例如下面例子:)
实现方法:
//价格改变 function changePrice(){ //统计改变后的总价 var price = 0; $("input[name$='.number']").each(function(){ var realprice = parseFloat($(this).parent().next().children().first().val()); if(isNaN(realprice)){ price = price + 0; }else{ price = price+parseInt($(this).val())*realprice; } }); //订单总额 price=price.toFixed(2); $("#price").val(price); }
4.datagrid编辑框(numberbox)使用例子:
{field:'realPrice',title:'单价',sortable:true,width:80, editor: { type: 'numberbox', options: { max:100000, precision:2 } }, },
5.datagrid操作栏的显示
{field:'opt',title:'操作',width:50,align:'center', formatter:function(value,rec,index){ var d = '<a href="#" mce_href="#" onclick="delMainItem(\''+ index +'\')">删除</a> '; return d; } }
6.datagrid开始编辑和结束编辑:
//主项目信息的选中后的操作 ,开始编辑 function selectMainItem(index){ endEditing(); $('#productList_selected').datagrid('beginEdit', index); var ed =$('#productList_selected').datagrid('getEditor', {index:index,field:'price'}); $(ed.target).focus(); editIndex = index; } //结束表格编辑 function endEditing(){ if (editIndex == undefined){return true} if ($('#productList_selected').datagrid('validateRow', editIndex)){ var ed_realPrice = $('#productList_selected').datagrid('getEditor', {index:editIndex,field:'price'}); var ed_number = $('#productList_selected').datagrid('getEditor', {index:editIndex,field:'number'}); var ed_supplier = $('#productList_selected').datagrid('getEditor', {index:editIndex,field:'supplier'}); var ed_productDate = $('#productList_selected').datagrid('getEditor', {index:editIndex,field:'productDate'}); var ed_validity = $('#productList_selected').datagrid('getEditor', {index:editIndex,field:'validity'}); var realPrice = $(ed_realPrice.target).numberbox('getValue'); var number = $(ed_number.target).numberbox('getValue'); var supplier = $(ed_supplier.target).combobox('getValue'); var productDate = $(ed_productDate.target).datebox('getValue'); var validity = $(ed_validity.target).text('getValue'); $('#productList_selected').datagrid('getRows')[editIndex]['realPrice'] = realPrice; $('#productList_selected').datagrid('getRows')[editIndex]['number'] = number; $('#productList_selected').datagrid('getRows')[editIndex]['supplier'] = supplier; $('#productList_selected').datagrid('getRows')[editIndex]['productDate'] = productDate; $('#productList_selected').datagrid('getRows')[editIndex]['validity'] = validity; $('#productList_selected').datagrid('endEdit', editIndex); editIndex = undefined; changePrice(); return true; } else { return false; } }
7.清空datagrid数据
function clearAllItemByType(){ var rows = $('#itemList').datagrid('getRows'); $.each(rows, function (index, item){ $('#itemList').datagrid('deleteRow', 0); }); }
8.datagrid计算价格
var rowsOfSelected = $('#itemList_selected').datagrid('getRows'); var price = 0; $.each(rowsOfSelected, function (index, item){ var realPrice = item.realPrice; var number = item.number; if(realPrice != undefined && number != undefined){ if(IsNum(realPrice) && IsNum(number)){ if(realPrice>=0 && number>=0){//为正数 price += realPrice * number; } } } });
9.datagrid编辑器与combobox的结合使用
//供货商 var supplier; //获得供应商下拉框 function getSupplier(){ var url = "inStockController.do?getSupplier"; $.ajax({ type : 'POST', url : url, async: false, success : function(data) { var d = $.parseJSON(data); if (d.success) { supplier=d.msg; } }, error:function (xhr, ajaxOptions, thrownError){ } }); } //字符串转化为json格式 var json_supplier=eval(supplier); function unitformatter(value, rowData, rowIndex) { if (value == 0) { return; } for (var i = 0; i < json_supplier.length; i++) { if (json_supplier[i].id == value) { return json_supplier[i].name; } } } {field:'supplier',title:'供应商',sortable:true,width:110,formatter: unitformatter, panelHeight: 'auto', editor: { type: 'combobox', options: { data: json_supplier, valueField: "id", textField: "name", panelHeight:"auto" } } },
编辑器combobox后台代码展示:
public AjaxJson getSupplier(HttpServletRequest req) { AjaxJson j = new AjaxJson(); String type=""; try { List<SupplierEntity> supplierList=systemService.getList(SupplierEntity.class); for (SupplierEntity suppliers : supplierList) { type += "{'id':'"+suppliers.getId()+"','name':'"+suppliers.getName()+"'},"; } } catch (Exception e) { e.printStackTrace(); logger.info(e.getMessage()); systemService.addLog(e.getMessage(), Globals.Log_Type_OTHER, Globals.Log_Leavel_ERROR); } String floor = "["+type+"]"; // 设置提示信息 j.setMsg(floor); return j; }