easyui datagrid 获取选中行数据 2C

我在easyui的datagrid中添加了一个chackbox
现在每行数据的前面都有一个复选框 而每行数据的后面有一个文本框

 <th fit="true" data-options="field:'yuanyin',formatter:  rowformater">退回原因</th>

我在js 中如何判断复选框是否选中
如果选中获得选中行的字段为ID的值
如果不选中获得不选中行字段为PID的值

3个回答

在easyui官方文档上面都有,很简单,下载easyui官方文档,找到datagrid,找到方法,就有你需要的,像easyui这种问题,直接查文档就ok了,谁说的都没文档准

rowformater是返回checkbox的html代码用的?干嘛不用easyui自带的复选框?配置checkbox :true就行了。然后调用getChecked方法就可以得到选中的数据行,getRows得到所有数据行,遍历勾选的和所有数据行对比得到非勾选的pid

如果是你自己返回的checkbox的html代码,需要用jquery获取勾选的checkbox,然年后遍历获取数据行,返回的checkbox的html代码增加2个属性id为数据行id,pid为你数据行的pid。如

 rowformater:function(){return '<inpu type="checkbox" id="'+row.id+'" pid="'+row.pid+'">'}

获取数据


var ids='',pids='';
$('#dg').datagrid('getPanel').find(':checkbox').each(function(){
if(this.checked)ids+=','+this.id;
else pids+=','+this.getAttribute('pid');
});
alert(ids+'\n'+pids)
showbo
支付宝加好友偷能量挖 回复ZZS297185816: $('#dg').datagrid('getPanel').find('input').each,那不是有代码了,改为获取input对象。你的选取又是什么东西,自带的checkbox的话自己getChecked得到数据行对比下input(给input增加id存储当前数据行id)的id,一样就获取input的值
接近 3 年之前 回复
ZZS297185816
ZZS297185816 rowformater是我在datagrid中加入的Textbox 我现在主要的就是想从一个按钮的点击事件中获得选中行的Textbox的值
接近 3 年之前 回复

我是使用 下面的方式在datagrid中生成了个每列都有的文本框 现在取不到文本框的值

退回原因
function rowformater(value,row,index)
{

return "";

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
easyui datagrid获取当前选中行中的datebox的值
我要获得当前选中行的数据,其中日期的值没有拿到,我是这样写的: ``` //拿到当前选中行的数据 var row = $('#tab').datagrid('getSelected'); $('#txtBirthday').datebox('setValue', row.Birthday); ``` 拿到的row.Birthday的值是/Date(1430668800000)/,要怎么才能正确获取这个日期呢?
easyui datagrid 编辑行后如何保存
<script type="text/javascript"> $(function () { var datagrid; //定义全局变量datagrid var editRow = undefined; //定义全局变量:当前编辑的行 datagrid = $("#dd").datagrid({ url: 'UserCenter.aspx', //请求的数据源 iconCls: 'icon-save', //图标 pagination: true, //显示分页 pageSize: 15, //页大小 pageList: [15, 30, 45, 60], //页大小下拉选项此项各value是pageSize的倍数 fit: true, //datagrid自适应宽度 fitColumn: false, //列自适应宽度 striped: true, //行背景交换 nowap: true, //列内容多时自动折至第二行 border: false, idField: 'ID', //主键 columns: [[//显示的列 {field: 'ID', title: '编号', width: 100, sortable: true, checkbox: true }, { field: 'UserName', title: '用户名', width: 100, sortable: true, editor: { type: 'validatebox', options: { required: true} } }, { field: 'RealName', title: '性别', width: 100, editor: { type: 'combobox', options: { data: [{ id: 0, text: '请选择' }, { id: 1, text: '男' }, { id: 2, text: '女' }], valueField: 'id', textField: 'text', } } }, { field: 'Email', title: '邮箱', width: 100, editor: { type: 'validatebox', options: { required: true} } } ]], queryParams: { action: 'query' }, //查询参数 toolbar: [{ text: '添加', iconCls: 'icon-add', handler: function () {//添加列表的操作按钮添加,修改,删除等 //添加时先判断是否有开启编辑的行,如果有则把开户编辑的那行结束编辑 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } //添加时如果没有正在编辑的行,则在datagrid的第一行插入一行 if (editRow == undefined) { datagrid.datagrid("insertRow", { index: 0, // index start with 0 row: { } }); //将新插入的那一行开户编辑状态 datagrid.datagrid("beginEdit", 0); //给当前编辑的行赋值 editRow = 0; } } }, '-', { text: '删除', iconCls: 'icon-remove', handler: function () { //删除时先获取选择行 var rows = datagrid.datagrid("getSelections"); //选择要删除的行 if (rows.length > 0) { $.messager.confirm("提示", "你确定要删除吗?", function (r) { if (r) { var ids = []; for (var i = 0; i < rows.length; i++) { ids.push(rows[i].ID); } //将选择到的行存入数组并用,分隔转换成字符串, //本例只是前台操作没有与数据库进行交互所以此处只是弹出要传入后台的id alert(ids.join(',')); } }); } else { $.messager.alert("提示", "请选择要删除的行", "error"); } } }, '-', { text: '修改', iconCls: 'icon-edit', handler: function () { //修改时要获取选择到的行 var rows = datagrid.datagrid("getSelections"); //如果只选择了一行则可以进行修改,否则不操作 if (rows.length == 1) { //修改之前先关闭已经开启的编辑行,当调用endEdit该方法时会触发onAfterEdit事件 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } //当无编辑行时 if (editRow == undefined) { //获取到当前选择行的下标 var index = datagrid.datagrid("getRowIndex", rows[0]); //开启编辑 datagrid.datagrid("beginEdit", index); //把当前开启编辑的行赋值给全局变量editRow editRow = index; //当开启了当前选择行的编辑状态之后, //应该取消当前列表的所有选择行,要不然双击之后无法再选择其他行进行编辑 datagrid.datagrid("unselectAll"); } } } }, '-', { text: '保存', iconCls: 'icon-save', handler: function () { //保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台 datagrid.datagrid("endEdit", editRow); } }, '-', { text: '取消编辑', iconCls: 'icon-redo', handler: function () { //取消当前编辑行把当前编辑行罢undefined回滚改变的数据,取消选择的行 editRow = undefined; datagrid.datagrid("rejectChanges"); datagrid.datagrid("unselectAll"); } }, '-'], onAfterEdit: function (rowIndex, rowData, changes) { //endEdit该方法触发此事件,保存代码是否这里写??? //还需要判断combobox是否选中性别,而不是默认值 console.info(rowData); editRow = undefined; }, onDblClickRow: function (rowIndex, rowData) { //双击开启编辑行 if (editRow != undefined) { datagrid.datagrid("endEdit", editRow); } if (editRow == undefined) { datagrid.datagrid("beginEdit", rowIndex); editRow = rowIndex; } } }); }); </script> 1、怎么提交保存? 2、怎么在保存提交的时候判断combobox选中的不是“请选择”
easyui如何在datagrid的行编辑或新增的时候锁定行
**easyui如何在datagrid的行编辑或新增的时候锁定行, 让鼠标点击其他行后还是选中的当前编辑行?** 因为我发现如果在编辑行或新增行的时候,我把鼠标单击到其他行, 在获取数据的时候就获取不到编辑或新增的内容。
JQuery-EasyUI DataGrid数据表格删除多项数据,第一个选项报NaN错误
今天写项目遇到了删除不了数据的情况,选择了多项数据进行删除,第一项总是报NaN错误,获取不了id,不知道是哪里出了问题?在这里请教一下老师们。 jsp页面代码: { text:"删除", iconCls:"icon-remove", handler:function(){ //找到datagrid表格中所选中的行 $("#tt").datagrid("reload",{}); var rows=$("#tt").datagrid("getSelections"); //alert($("tt").datagrid("getRowIndex")); alert(rows); if(rows.length<=0) { $.messager.show({ width:200, height:100, title:"提示信息", msg:"至少要选择一条记录进行删除!" }); }else{ for(var i=0;i<rows.length;i++) { var ids=ids+rows[i].id+"," } //删除最后一个逗号 ids=ids.substring(0,ids.length-1); alert(ids); $.messager.confirm("确认信息","您确定要删除吗?",function(bol){ if(bol) { $.post("/project18/client/clientAction_delete","method=delete&ids="+ids,function(data){ $.messager.show({ width:200, height:100, title:"提示信息", msg:data.message }); //刷新datagrid $("#tt").datagrid("unselectAll",{}); $("#tt").datagrid("reload",{}); },"json"); }else{ $("#tt").datagrid("clearSelections"); } }); } } }, 控制层代码: @RequestMapping("clientAction_delete") public void delete(HttpServletRequest request,HttpServletResponse response) throws IOException{ String ids=request.getParameter("ids"); System.out.println(ids); String[] id=ids.split(","); int[] idss=new int[id.length]; for(int i=0;i<id.length;i++){ idss[i]=Integer.parseInt(id[i]); clientService.delete(CClient.class, idss[i]); } response.setContentType("json;charset=utf-8"); response.getWriter().print("{\"message\":\"删除成功\"}"); } ![图片说明](https://img-ask.csdn.net/upload/201710/24/1508845590_644337.png)
html 结合 php,如何easyui的datagrid进行多行修改数据?
html页面用的easyui-datagrid,然后是 ``` <table id="dg"> <thead> <form id="fm"> <tr> <th field="ck" checkbox="true"></th> <th field="name" width="50">姓名</th> <th field="profit" width="50">昨日收益</th> </tr> </form> </thead> </table> <script type="text/javascript"> var url; function edit(){ var ids = []; var row = $('#dg').datagrid('getSelections'); for(var i = 0; i<row.length;i++){ var rows = row[i]; ids.push(rows); } url = '../php/everyday.php?o=edit&uid='+row.uid; $('#fm').form('submit',{ url: url, onSubmit: function(){ return $(this).form('validate'); }, success: function(result){ $('#dg').datagrid('reload'); } }); } </script> ``` 1.如何在html中获取 多行选中后的 id。 2.获取值后怎么把多个id值传到php。 3.php如何对这些id进行处理(批量处理)。
Easyui中获取多条被选中行时显示空的问题
rows已经可以获取到多条被选中的行,ids这里通过push方法在经过alert弹窗结果显示为空,如果用rows[i].ID就可以输出数据库里的ID值(i为任意给,datagrid为DataGrid控件) var rows = $('#datagrid').datagrid('getSelections'); var ids=[]; if (rows > 0) { for (var i = 0; i < rows.length; i++) { ids.push(rows[i].ID); } } alert(ids.join(','));//为什么显示空?rows[i].ID里面有值。
再次封装easyui datagrid 插件 Pagination分页的开启和关闭
js 具体代码如下 求大牛解答 (function($){ $.fn.data = function(options){ $.ajax({ //请求方式为get type: "GET", //xml文件位置 url: "data.xml", async: false, //返回数据格式为xml dataType: "xml", //请求成功完成后要执行的方法 success: function (data) { $(data).find('aaaa').each(function (i) { //读取xml文件,获取默认参数 //alert(12); var $item = $(this); pagin = $item.find('pagination').text(); pageL = $item.find('pageList').text(); rownu = $item.find('rownumbers').text(); pageS = $item.find('pageSize').text(); checkOnSelect = $item.find('checkOnSelect').text(); //alert(checkOnSelect); text = $item.find('text').text(); }) } }); $('#db').datagrid({ idField:'itemid', //标识字段 title:'数据列表', width:500, //height:300, url:'datagrid_data1.json', fitColumns:true, //自适应窗口 nowrap:true, //不显示在一行 striped:true, //各行换色 loadMsg:'数据加载中,请稍等...', //加载数据时提示的信息 rownumbers:rownu, //singleSelect:true, checkOnSelect:true, //点击行时复选框是否被选中 sortName:'sendTime', sortOrder:'desc', remoteSort:false, //scrollbarSize:200, rowStyler:function(index,data){ //console.info(index); //console.info(data); if(data.isGet==0){ //return 'background:silver'; }else{ //return 'background:green'; } }, columns:[[ {checkbox:true}, {field:'ck',title:'接收人',width:100}, {field:'productid',title:'内容',width:100}, {field:'listprice',title:'发送时间',width:100}, {field:'unitcost',tile:'cjkcs',width:100}, {field:'attr1',tile:'cjkcs',width:100}, {field:'status',tile:'cjkcs',width:100}, ]], pagination:pagin, pageSize:pageS, pageList:pageL, toolbar:[ {text:'增加',iconCls:'icon-add',handler:function(){ //alert('ok'); $("#register").dialog('open'); }}, { text:'删除', iconCls:'icon-remove', handler:function(){ var selects = $("#data").datagrid("getSelections"); //alert(selects.length); if(selects.length<=0){ $.messager.show({ title:'温馨提示', msg:'请选择要删除的记录' }); }else{ //将选中的记录删除(先找到每一个选中的元素) for(var i=0;i<selects.length;i++){ //alert(selects[i].messID); $.post("delete.php","id="+selects[i].messID,function(r){ //alert('ok'); $("#data").datagrid("reload"); }) } } } }, {text:'编辑',iconCls:'icon-edit'}, {text:'查询',iconCls:'icon-search'}, ], }); } } )(jQuery); xml 如下 <?xml version="1.0" encoding="utf-8"?> <aaaa> <pagination>false</pagination> <pageList>[1,2,3]</pageList> <rownumbers>true</rownumbers> <pageSize>5</pageSize> <checkOnSelect>true</checkOnSelect> <text>1</text>//默认是有,如果是0则关闭 </aaaa>
easyui的datagrid问题
![图片说明](https://img-ask.csdn.net/upload/201505/22/1432265303_132827.png) 如图所示,我想点击修改的时候能获取这一行的数据,不知道该怎么弄,求解答。 我现在是这样写的,点击的时候会调用一个js函数,函数里会获取所有选中的行,但是现在的问题就是点修改的时候会先调用那个函数在选中你点的那一行,导致数据无法获取。
JQuery easyUi dataGrid工具栏 怎么添加搜索输入框
function rollback(Data){ var userData = eval("("+ Data.userList+")"); //生成dataGrid $('#test').datagrid({ title:'用户信息表', iconCls:'icon-edit', // url:'getData.action', loadMsg:'数据加载中,请稍后...', width:'auto', height:420, rownumbers:true, pagination:true, singleSelect:false, idField:'userId', frozenColumns:[[ {field:'ck',checkbox:true}, {field:'userId',title:'用户编号',width:55,align:'center'}, {field:'userName',title:'用户名',width:100,editor:'text',align:'center'}, {field:'password',title:'密码',width:100,editor:'text',align:'center'}, {field:"createTime",title:'加入时间',width:130}, {field:'opt',title:'操作',width:140,align:'center', formatter:function(val,rec){ var s='<input type="button" onclick="abc('+rec.userName+')" value="'+val+'">'; var e = '<input type="button" onclick="edit()" value="修改"> '; var d = '<input type="button" onclick="deleteUser()" value="删除"> '; return s+e+d; } } ]], toolbar:[ { id:'btnadd', text:'添加用户', iconCls:'icon-adduer', handler:function(){ $('#add_w').window('open'); } },'-', { id:'btncut', text:'删除用户', iconCls:'icon-removeuser', handler:function(){ $.messager.confirm('确认','确认删除?',function(row){ if(row){ var selectedRow = $('#test').datagrid('getSelections'); //获取选中行 var userIds = []; for(var i=0;i<selectedRow.length;i++){ userIds.push(selectedRow[i].userId); } $.ajax({ url:"deleteMoreUser.action", type:"post", cache:false, data:"userId="+userIds, success:function(){ $.messager.alert('删除用户','删除用户成功!'); getData(); } }); } }) } },'-[color=red]',{ id:'search', text:'搜索', iconCls:'icon-search', handler:function(){ alert('cut') }[/color] } ] }).datagrid('loadData',userData); 请问我如何在toolbar上加一个供用户输入查询条件的输入框啊????急啊!!!!
easyui搜索框查询回来的数据怎么显示出来啊
1.我现在问题是,在打开页面的时候,调用后台的一个方法,把表格所有的数据 显示在了datagrid上,现在想在页面加个搜索框,输入用户名,点击搜索的时 候,后台会根据前端传来的参数,调用另一个方法执行相关的查询语句,然后把数据返回给前端。 ===问题来了,前端接收到数据后,怎么显示在已经获取了所有数据的在datagrid上呢? 这我相关的代码 ``` <body> <script > $(function (){ var flag ; // 判断新增和修改方法 var url;//全局变量,存储点击对话框保存按钮后,提交请求的URL地址 $('#a').datagrid({ idField:'id',//只要创建数据表格 就必须要加 idField fitColumns:true,//宽度自适应 url:'/ssm/getOperator', //geiOperator会查出表里所有数据 checkOnSelect:true,//为false,当用户仅在点击该复选框的时候才会被选中或取消。 fitColumns: true, columns:[[ {field:'id',checkbox:true}, {field:'operator_id',title:'编号',width:100,halign:'center',align:'center'}, {field:'username',title:'账户',width:100,halign:'center',align:'center'}, {field:'password',title:'密码',width:100,halign:'center',align:'center'}, {field:'operator_name',title:'姓名',width:100,halign:'center',align:'center'} ]], pagination:true,//在底部显示分页 pageSize:'5',//每页显示多少个 pageList:[5,10,20], ``` ``` $('#btn3').click(function(){ var operator_name=document.getElementById('searchbtn').value; var operator={"operator_name":operator_name}; var jsonData= JSON.stringify(operator); $.ajax({ type: 'post' , url: "/ssm/findOperByName" , cache:false , data:jsonData, dataType:'json' , contentType : "application/json;charset=UTF-8", success:function(result){ //1 关闭窗口 /* $('#mydialog').dialog('close'); */ //2刷新datagrid /* $('#a').datagrid('reload'); */ /* $('#a').datagrid('clearSelections'); */ //获取表头数据成功后,使用easyUi的datagrid去生成表格 }, error:function(result){ alert("执行失败"); } }); ``` btn3就是我点击搜索的按钮。但搜索成功后数据不会显示在表格里 如果能解决,可以有偿
datagrid 表中的 怎么去限制俩个datetimebox 的大小
表结构<br/>![图片说明](https://img-ask.csdn.net/upload/201610/07/1475825320_194509.png) 我想让datetimebox A 如果选择了 2016-8-8 那么 datetimebox B就不能进行选 8-8之前的日期了 只能比它大,反之亦然,A不能比B大! 表格代码是这样的 <br/> html部分 ``` <table id="dg" rownumbers="true" class="easyui-datagrid" style="width:100%;height:auto;" data-options="onEndEdit:onEndEdit,onLoadSuccess:compute"> <thead> <tr> <th data-options="field:'ck',width:100,checkbox:true"></th> <th data-options="field:'dept_id',width:100,formatter:function(value,row){return row.dept_name; },editor:{ type:'combobox',options:{ valueField:'dept_id', textField:'dept_name',method:'get',url:'{$json}', } }">开单部门</th> <th data-options="field:'to_dept',width:100, formatter:function(value,row){ return row.todeptname;},editor:{ type:'combobox',options:{ valueField:'dept_id', textField:'todeptname',url:'{$json2}', editable:false }}">目标分店</th> <th data-options="field:'so_date',width:160,editor:{type:'datetimebox',options:{editable:false,}}">发生日期</th> <th data-options="field:'income',width:100,editor:{type:'numberbox',options:{}},formatter:function(value,row,index){ return formatNumber(value,2); }">借</th> <th data-options="field:'pay',width:100,editor:{type:'numberbox',options:{}}, formatter:function(value,row,index){ return formatNumber(value,2);}">贷</th> <th data-options="field:'record_date',width:160,editor:{type:'datetimebox',options:{editable:false}}">审核日期</th> </tr> </thead> </table> ``` JS部分 ``` <script> $(document).ready(function(){ var datagrid; //定义全局变量datagrid var editRow1 = undefined; //定义全局变量:当前编辑的行 datagrid1 = $("#dg").datagrid({ url:'{$recURL}', //请求的数据源 iconCls: 'icon-save', //图标 fit: false, //datagrid自适应宽度 fitColumn: false, //列自适应宽度 striped: true, //行背景交换 nowrap: true, //列内容多时自动折至第二行 border: false, idField: 'dept_id', //主键 //queryParams: { action: 'query' }, //查询参数 toolbar: [{ text: '添加一行', iconCls: 'icon-add', handler: function () { if (editRow1 != undefined) { datagrid1.datagrid("endEdit", editRow1); } if (editRow1 == undefined) { datagrid1.datagrid("insertRow", { index: 0, // index start with 0 row: { } }); //将新插入的那一行开户编辑状态 datagrid1.datagrid("beginEdit", 0); var insert_c= $('#dg').datagrid("getChanges",'updated'); var dg = $('#dg').datagrid('getEditor', { index: 0, field: 'dept_id' }); $(dg.target).combobox('select',"001"); //给当前编辑的行赋值 editRow1 = 0; } } }, '-', { text: '删除选中', iconCls: 'icon-remove', handler: function () { //删除时先获取选择行 var rows = datagrid1.datagrid("getSelections"); //选择要删除的行 if (rows.length > 0) { $.messager.confirm("提示", "你确定要删除吗?", function (r) { if (r) { var ids = []; var row = []; for (var i = 0; i < rows.length; i++) { var rowIndex = $('#dg').datagrid('getRowIndex', rows[i]);//获取指定行 row[i]=rowIndex; ids.push(rows[i].dept_id); } if($('#dg').datagrid('getRows').length==row.length){ editRow1 = undefined; datagrid1.datagrid("rejectChanges"); $.messager.alert("提示","删除成功","info"); }else{ for(var i=0;i<row.length;i++){ $('#dg').datagrid('deleteRow', row[i]); //删除指定行 } }//将选择到的行存入数组并用,分隔转换成字符串, } }); } else { $.messager.alert("提示", "请选择要删除的行","error"); } } }, '-', { text: '修改选中', iconCls: 'icon-edit', handler: function () { //修改时要获取选择到的行 var rows = datagrid1.datagrid("getSelections"); //如果只选择了一行则可以进行修改,否则不操作 if (rows.length == 1) { //修改之前先关闭已经开启的编辑行,当调用endEdit该方法时会触发onAfterEdit事件 if (editRow1 != undefined) { datagrid1.datagrid("endEdit", editRow1); } //当无编辑行时 if (editRow1 == undefined) { //获取到当前选择行的下标 var index = datagrid.datagrid("getRowIndex", rows[0]); //开启编辑 datagrid1.datagrid("beginEdit", index); //把当前开启编辑的行赋值给全局变量editRow1 editRow1 = index; datagrid1.datagrid("unselectAll"); } }else { $.messager.alert('警告', '修改必须或只能选择一行!', 'warning'); } } }, '-', { text: '保存', iconCls: 'icon-save', handler: function () { //保存时结束当前编辑的行,自动触发onAfterEdit事件如果要与后台交互可将数据通过Ajax提交后台 datagrid1.datagrid("endEdit", editRow1); } }, '-' , {text: '设置视图', handler: function (){ var s=$(this).parents("fieldset").find(".datagrid-header"); set_view(s); } },'-'], onAfterEdit: function (rowIndex, rowData, changes) { //endEdit该方法触发此事件 //console.info(rowData); editRow1 = undefined; compute(); }, onDblClickRow: function (rowIndex, rowData) { //双击开启编辑行 var cx; var insert_c= $('#dg').datagrid("getChanges",'inserted'); for(var i=0;i<insert_c.length;i++){ var row_l=$('#dg').datagrid("getRowIndex",insert_c[i]); if(rowIndex==row_l){ cx=true; } } if (editRow1 != undefined) { datagrid1.datagrid("endEdit", editRow1); } if (editRow1 == undefined) { var rows = $('#dg').datagrid('getRows'); if(cx){ datagrid1.datagrid("beginEdit", rowIndex); editRow1 = rowIndex; cx=false; }else{ datagrid1.datagrid("beginEdit", rowIndex); editRow1 = rowIndex; var dd = $('#dg').datagrid('getEditor', { index: rowIndex, field: 'dept_id' }); $(dd.target).combobox('disable'); } } } }); //编辑状态 function endEditing1() { if (editRow1 == undefined) { return true } if ($('#dg').datagrid('validateRow', editRow1)) { var ed = $('#dg').datagrid('getEditor', { index: editRow1, field: 'dept_id' }); $('#dg').datagrid('endEdit', editRow1); editRow = undefined; return true; } else { return false; } } }); function onEndEdit(index, row){ var ed = $('#dg').datagrid('getEditor', { index: index, field: 'dept_id' }); row.dept_name = $(ed.target).combobox('getText'); var ed1 = $('#dg').datagrid('getEditor', { index: index, field: 'to_dept' }); row.todeptname = $(ed1.target).combobox('getText'); } function compute(){ var rows = $('#dg').datagrid('getRows')//获取当前的数据行 var ptotal = 0//计算listprice的总和 ,utotal = 0//统计unitcost的总和 ,table = 0; for (var i = 0; i < rows.length; i++) { ptotal += parseFloat(rows[i]['income']) || 0 ; utotal += parseFloat(rows[i]['pay']) || 0 ; } table = ptotal - utotal; document.getElementById('payin').innerText=ptotal.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');//输出位置 document.getElementById("payout").innerText=utotal.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); document.getElementById('payincome').innerText=table.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); } function formatNumber(value, fixed) { var number = Number(value); return number.toFixed(2).replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,'); }</script> ``` 因为他的是easyui组件,我不知道怎么去实现 这个需求
ssh 实体对象转jason 前台无法显示
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <%@ include file="/public/head.jspf" %> <style type="text/css"> body { margin: 1px; } .searchbox { margin: -3; } </style> <script type="text/javascript"> $(function(){ $('#dg').datagrid({ //url地址改为请求categoryAction url:'forder_queryJoinUser.action', loadMsg:'Loading......', queryParams:{username:''}, fitColumns:true,//水平自动展开,如果设置此属性,则不会有水平滚动条,演示冻结列时,该参数不要设置 striped:true, //当数据多的时候不换行 nowrap:true, singleSelect:false, //如果为真,只允许单行显示,全显功能失效 //设置分页 pagination:true, //设置每页显示的记录数 pageSize:10, //设置可选的每页记录数,供用户选择,默认是10,20,30,40... pageList:[5,10,15,20], idField:'id',//指定id为标识字段,在删除,更新的时候有用,如果配置此字段,在翻页时,换页不会影响选中的项 toolbar: [{ iconCls: 'icon-edit', text:'更新订单', handler: function(){ //判断是否有选中行记录,使用getSelections获取选中的所有行 var rows = $("#dg").datagrid("getSelections"); if(rows.length == 0) { //弹出提示信息 $.messager.show({ //语法类似于java中的静态方法,直接对象调用 title:'错误提示', msg:'至少要选择一条记录', timeout:2000, showType:'slide', }); }else if(rows.length != 1) { //弹出提示信息 $.messager.show({ //语法类似于java中的静态方法,直接对象调用 title:'错误提示', msg:'每次只能更新一条记录', timeout:2000, showType:'slide', }); } else{ //弹出更新的页面 parent.$("#win").window({ title:"更新订单", width:350, height:250, content:'<iframe src="send_order_update.action" frameborder="0" width="100%" height="100%"/>' }); } } },'-',{ iconCls: 'icon-remove', text:'删除订单', handler: function(){ //判断是否有选中行记录,使用getSelections获取选中的所有行 var rows = $("#dg").datagrid("getSelections"); //返回被选中的行,如果没有任何行被选中,则返回空数组 if(rows.length == 0) { //弹出提示信息 $.messager.show({ title:'错误提示', msg:'至少要选择一条记录', timeout:2000, showType:'slide', }); } else { //提示是否确认删除,如果确认则执行删除的逻辑 $.messager.confirm('删除的确认对话框', '您确定要删除此项吗?', function(r){ if (r){ //1. 从获取的记录中获取相应的的id,拼接id的值,然后发送后台1,2,3,4 var ids = ""; for(var i = 0; i < rows.length; i ++) { ids += rows[i].id + ","; } ids = ids.substr(0, ids.lastIndexOf(",")); //2. 发送ajax请求 $.post("forder_deleteByIds.action",{ids:ids},function(result){ if(result == "true") { //将刚刚选中的记录删除,要不然会影响后面更新的操作 $("#dg").datagrid("uncheckAll"); //刷新当前页,查询的时候我们用的是load,刷新第一页,reload是刷新当前页 $("#dg").datagrid("reload");//不带参数默认为上面的queryParams } else { $.messager.show({ title:'删除异常', msg:'删除失败,请检查操作', timeout:2000, showType:'slide', }); } },"text"); } }); } } },'-',{ //查询按钮不是LinkButton,它有语法,但是也支持解析HTML标签 text:"<input id='ss' name='serach' />" }], rowStyler: function(index,row){ console.info("index" + index + "," + row) if(index % 2 == 0) { return 'background-color:#fff;'; } else { return 'background-color:#c4e1e1;'; } }, //同列属性,但是这些列将会冻结在左侧,大小不会改变,当宽度大于250时,会显示滚动条,但是冻结的列不在滚动条内 frozenColumns:[[ {field:'checkbox',checkbox:true}, {field:'id',title:'编号',width:60} ]], columns:[[ {field:'name',title:'收货人姓名',width:80}, {field:'phone',title:'收货人电话',width:100}, {field:'remark',title:'买家留言',width:100}, {field:'date',title:'创建日期',width:100}, {field:'total',title:'订单总价',width:100}, {field:'address',title:'收货地址',width:150}, {field:'user.id',title:'买家id',width:60}, {field:'user.login',title:'买家登录名',width:80}, {field:'status.status',title:'订单状态',width:100} ]] }); //把普通的文本框转化为查询搜索文本框 $('#ss').searchbox({ //触发查询事件 searcher:function(value,username){ //value表示输入的值 //获取当前查询的关键字,通过DataGrid加载相应的信息,使用load加载和显示第一页的所有行。 //如果指定了参数,它将取代'queryParams'属性。通常可以通过传递一些参数执行一次查询,通过调用这个方法会向上面url指定的action去发送请求,从服务器加载新数据。 $('#dg').datagrid('load',{ username: value }); }, prompt:'请输入搜索关键字' }); }); </script> </head> <body> <table id="dg"></table> </body> </html> `jsp代码 下面action: public String queryJoinUser() { // 用来存储分页的数据 pageMap = new HashMap<String, Object>(); System.out.println(username); // 根据关键字和分页的参数查询相应的数据 List<Forder> forderList = forderService.queryJoinUser(username, page, rows); pageMap.put("\"rows\"", forderList); pageMap.put("\"total\"", forderService.getCount(username)); System.out.println(pageMap); return "jsonMap"; } struts.xml <action name="forder_*" class="forderAction" method="{1}"> <result name="jsonMap" type="json"> <param name="root">pageMap</param> <param name="excludeProperties"> rows\[\d+\]\.post, rows\[\d+\]\.user\.pass, rows\[\d+\]\.user\.sex, rows\[\d+\]\.user\.phone, rows\[\d+\]\.user\.email, rows\[\d+\]\.status\.id </param> </result> <result name="bank"> /user/bank.jsp </result> </action> 执行后pageMap的输出: {"total"=1, "rows"=[Forder [id=1, name=张小, phone=1851663595, remark=是否被, date=null, total=14.00, post=4325232, addressrk=, date=null, total=100.00, post=dcvdf, address=市场v吃饭的]]} `` 没有报任何错误就是不显示![图片说明](https://img-ask.csdn.net/upload/201706/07/1496767475_187876.png) ``` ``` ```
页面内容显示不出来 ,看不懂哪里出错了。
``` main.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>title</title> <%@ include file="../../include/common.jsp"%> <script type="text/javascript"> //定义了一个命名空间,ExpertsMntn.main.xxxx可以直接调用 $.namespace("ExpertsMntn.main"); ExpertsMntn.main.add=function() { $("#ExpertsMntnDetailWin").dialog({ href:'add', title:'添加', draggable:false, //设置dialog自由尺寸 onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }; ExpertsMntn.main.edit=function() { var row = $('#ExpertsMntnGrid').datagrid('getSelections'); //getSelections:可以多行选中操作; getSelected:只能单行操作; if(row.length==1){ $("#ExpertsMntnDetailWin").dialog({ href:'edit/'+row[0].id, title:'编辑', draggable:false, onResize:function(){ $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); }else{ $.message.alert("Please select a record only!"); } }; ExpertsMntn.main.del=function() { //获取datagrid选中的数据行 var row = $("#ExpertMntnGrid").datagrid('getSelections'); if(row.length>=1){ //调用easyui的确认框 $.message.comfirm('确认','确认删除?',function(r) { if(r){ var ids = [ ]; //将选中的数据库的id压入ids[]数组; for (var i = 0; i < row.length; i++) { ids.push(row[i].id); } //调用jquery的post方法请求delete地址 $.post('del',{ ids:ids.join(',') },function(result){ //动态页200状态post成功回调并且服务器返回标准json数据执行回调函数 if(result){ // reload data $('#ExpertsMntnGrid').datagrid('clearSelections'); $('#ExpertsMntnGrid').datagrid('reload'); } },"json"); //指定将服务器返回的内容处理成json类型(此外,还可以返回 html、text之类) } }); }else{ $.message.alert('Please select a record only!'); } }; ExpertsMntn.main.listSearch=function() { $('#ExpertsMntnGrid').datagrid('load', { }); }; ExpertsMntn.main.init = function() { $('#ExpertsMntnGrid').datagrid({ //建表?建表插件用法 url:'search', method:'get', pageSize:20, toolbar:'#', fit : true, pagination : true, idField : "id", //支持分页选择记录 pagePosition : "bottom", rownumbers : true, border : false, singleSelect : false, striped : true, fitColumns : true, selectOnCheck : true, checkOnSelect : true, columns:[[{ field:'check', title : '', checkbox : true },{ field : 'id', title : '', width : 22, align : 'center', halign : 'center', sortable : true },{ field:'name', title:'姓名', width:22, align : 'center', halign : 'center', sortable : false },{ field:'sex', title:'性别', width:22, align : 'center', halign : 'center', sortable : false },{ field:'birthday', title:'出生日期', width:22, align : 'center', halign : 'center', sortable : false },{ field:'partymember', title:'政治状态', width:22, align : 'center', halign : 'center', sortable : false },{ field:'itemid', title:'专业', width:22, align : 'center', halign : 'center', sortable : false },{ field:'orgid', title:'所属组织', width:22, align : 'center', halign : 'center', sortable : false },{ field:'telephone', title:'联系方式', width:22, align : 'center', halign : 'center', sortable : false },{ field:'experience', title:'经历', width:22, align : 'center', halign : 'center', sortable : false },{ field:'remarks', title:'备注', width:22, align : 'center', halign : 'center', sortable : false },{ field:'content', title:'照片附件', width:22, align : 'center', halign : 'center', sortable : false },{ field:'photo-suffix', title:'照片文件后缀名', width:22, align : 'center', halign : 'center', sortable : false }]], //查看操作,onDblClickRow onDblClickRow : function(index, row) { $('#ExpertsMntnGrid').datagrid("clearSelections"); $('#ExpertsMntnGrid').datagrid("selectRow", index); $('#ExpertsMntnDetailWin').dialog({ href : 'view/' + row.id, title : "查看", draggable : false, onResize : function() { $('#ExpertsMntnGrid').datagrid('resize'); } }).dialog('open'); } }); }; $(document).ready(function() { ExpertsMntn.main.init(); }); </script> </head> <body> <div class="easyui-layout" fit="true" border="false" > <div region="north" border="false" > <div id="toolbar" border="false" class="dialog-toolbar" style="border-bottom-style: solid; border-bottom-width: 1px; border-bottom-color: #DDDDDD"> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-add'" onclick="ExpertsMntn.main.add()">添加</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-edit'" onclick="ExpertsMntn.main.edit()">编辑</a> <a href="#" class="easyui-linkbutton" data-options="plain:true,iconCls:'icon-remove'" onclick="ExpertsMntn.main.del()">删除</a> </div> </div> <div region="center" border="false" style="width: 100%; height: 100%"> <table id="ExpertsMntnGrid"></table> </div> <div id="ExpertsMntnDetailWin" class="easyui-dialog" title="" style="width: 450px; height: 750px;" data-options="modal:true,closed:true"></div> </div> </body> </html> detail.jsp: <%@ page contentType="text/html;charset=UTF-8"%> <%@ include file="../../include/header.jsp"%> <script type="text/javascript"> $.namespace("ExpertsMntn.detail"); ExpertsMntn.id="${(ExpertsMntnEntity.id)==null?0:(ExpertsMntnEntity.id)}"; ExpertsMntn.detail.mode = "${mode}"; ExpertsMntn.detail.save = function(){ var url = $.ctx+'/zjkwh/save/'+ ExpertsMntn.id; $('#ExpertsMntnForm').form('submit', { url: url, onSubmit: function(param) { if(ExpertsMntn.detail.mode=='edit'){ return $(this).form('validate'); } var flag = false; $.ajax({ type : "post", url : 'check', dataType : "json", data : { id : $('#id').val() }, async : false, success : function(result) { if (result == true) { flag = true; } } }); if(!flag){ return $(this).form('validate'); } else { $.messager.alert('数据已存在'); $('#ExpertsMntnGrid').datagrid('load'); return !flag; } }, success: function(result) { var data = (new Function("","return "+ result))(); $('#ExpertsMntnGrid').datagrid('reload'); if (data.id) { ExpertsMntn.id = data.id; $.messager.alert('提示', '保存成功!','',function(){ $('#ExpertsMntnDetailWin').dialog('close'); }); } else { $.messager.show({ title: 'Error', msg: result }); } } }); } $(document).ready(function() { }); </script> <div class="easyui-layout" region="center" style="height:700px;border:1px dashed #FFFFFF"> <c:if test="${(mode=='edit') || (mode=='add')}"> <div class="editform" style="border:1px dashed #FFFFFF"> <form id="ExpertsMntnForm" method="post" novalidate style="margin-bottom: 0"> <input id="id" name="id" type="hidden" value="${ExpertsMntnEntity.id }" /> <ul style="list-style-type: none; height: 5px"></ul> "validType:'length[1,50]'" value="${ExpertsMntnEntity.wonawardz}" size="20" style="width: 140px;height:30px;line-height:30px;border-style:none;margin-right:3px;float: left;background: url('${ctx}/static/images/inputbg.png') ;background-size: 100% 100%; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='${ctx}/static/images/inputbg.png', sizingMethod='scale')\9;" /> </li> </ul>--> </div> </c:if> <c:if test="${mode=='view'}"> <div class="editform"> <table border=1> <tbody> <tr> <td class="label"><label>&nbps;ID:</label></td> <td>${expertsMntnEntity.id}</td> </tr> <tr> <td class="label"><label>姓名:</label></td> <td>${expertsMntnEntity.name}</td> </tr> <tr> <td class="label"><label>性别:</label></td> <td>${expertsMntnEntity.sex}</td> </tr> <tr> <td class="label"><label>出生日期:</label></td> <td>${expertsMntnEntity.birthday}</td> </tr> <tr> <td class="label"><label>专业:</label></td> <td>${expertsMntnEntity.itemid}</td> </tr> <tr> <td class="label"><label>获得奖项:</label></td> <td>${expertsMntnEntity.wonawardz}</td> </tr> <tr> <td class="label"><label>经历:</label></td> <td>${expertsMntnEntity.experience}</td> </tr> <tr> <td class="label"><label>备注:</label></td> <td>${expertsMntnEntity.remarks }</td> </tr> </tbody> </table> </div> </c:if> </div> 只有添加才能显示出内容,编辑和查看操作在对话框中显示不出来,就连div框都显示不了!对话框能打开,但是里面什么东西都没有! ```
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
开源一个功能完整的SpringBoot项目框架
福利来了,给大家带来一个福利。 最近想了解一下有关Spring Boot的开源项目,看了很多开源的框架,大多是一些demo或者是一个未成形的项目,基本功能都不完整,尤其是用户权限和菜单方面几乎没有完整的。 想到我之前做的框架,里面通用模块有:用户模块,权限模块,菜单模块,功能模块也齐全了,每一个功能都是完整的。 打算把这个框架分享出来,供大家使用和学习。 为什么用框架? 框架可以学习整体
小白如何学习java?
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
【C++】C++11的std::array的详细剖析
当学习C++的时候,数组是最基本的结构之一,通常通过以下的方式来定义: int a[5]; int *b = new int[5]; 上面一句是在栈上定义了一个长度为5的数组,下面一句是在堆上定义了一个长度为5的数组,并用一个指针指向它。 在C++11中,引入了一种新的数组定义方式std::array。 std::array的特性 std::array是具有固定大小的数组。因此,它并不支持添加...
Python 基础(一):入门必备知识
Python 入门必备知识,你都掌握了吗?
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
写了很久,这是一份最适合/贴切普通大众/科班/非科班的『学习路线』
说实话,对于学习路线这种文章我一般是不写的,大家看我的文章也知道,我是很少写建议别人怎么样怎么样的文章,更多的是,写自己的真实经历,然后供大家去参考,这样子,我内心也比较踏实,也不怕误导他人。 但是,最近好多人问我学习路线,而且很多大一大二的,说自己很迷茫,看到我那篇 普普通通,我的三年大学 之后很受激励,觉得自己也能行,(是的,别太浪,你一定能行)希望我能给他个学习路线,说...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
文章目录1. 前言2. 明确学习目标,不急于求成,不好高骛远3. 在开始学习 Python 之前,你需要做一些准备2.1 Python 的各种发行版2.2 安装 Python2.3 选择一款趁手的开发工具3. 习惯使用IDLE,这是学习python最好的方式4. 严格遵从编码规范5. 代码的运行、调试5. 模块管理5.1 同时安装了py2/py35.2 使用Anaconda,或者通过IDE来安装模
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
羞,Java 字符串拼接竟然有这么多姿势
二哥,我今年大二,看你分享的《阿里巴巴 Java 开发手册》上有一段内容说:“循环体内,拼接字符串最好使用 StringBuilder 的 append 方法,而不是 + 号操作符。”到底为什么啊,我平常一直就用的‘+’号操作符啊!二哥有空的时候能否写一篇文章分析一下呢? 就在昨天,一位叫小菜的读者微信我说了上面这段话。 我当时看到这条微信的第一感觉是:小菜你也太菜了吧,这都不知道为啥啊!我估
"狗屁不通文章生成器"登顶GitHub热榜,分分钟写出万字形式主义大作
GitHub 被誉为全球最大的同性交友网站,……,陪伴我们已经走过 10+ 年时间,它托管了大量的软件代码,同时也承载了程序员无尽的欢乐。 万字申请,废话报告,魔幻形式主义大作怎么写?兄dei,狗屁不通文章生成器了解一下。这个富有灵魂的项目名吸引了众人的目光。项目仅仅诞生一周,便冲上了GitHub趋势榜榜首(Js中文网 -前端进阶资源教程)、是榜首哦
推荐几款比较实用的工具,网站
1.盘百度PanDownload   这个云盘工具是免费的,可以进行资源搜索,提速(偶尔会抽风......) 不要去某站买付费的......   PanDownload下载地址   2.BeJSON 这是一款拥有各种在线工具的网站,推荐它的主要原因是网站简洁,功能齐全,广告相比其他广告好太多了     bejson网站   3.二维码美化 这个网站的二维码美化很好看,网站界面
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
碎片化的时代,如何学习
今天周末,和大家聊聊学习这件事情。 在如今这个社会,我们的时间被各类 APP 撕的粉碎。 刷知乎、刷微博、刷朋友圈; 看论坛、看博客、看公号; 等等形形色色的信息和知识获取方式一个都不错过。 貌似学了很多,但是却感觉没什么用。 要解决上面这些问题,首先要分清楚一点,什么是信息,什么是知识。 那什么是信息呢? 你一切听到的、看到的,都是信息,比如微博上的明星出轨、微信中的表情大战、抖音上的段子
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
记一次腾讯面试:进程之间究竟有哪些通信方式?如何通信? ---- 告别死记硬背
有一次面试的时候,被问到进程之间有哪些通信方式,不过由于之前没深入思考且整理过,说的并不好。想必大家也都知道进程有哪些通信方式,可是我猜很多人都是靠着”背“来记忆的,所以今天的这篇文章,讲给大家详细着讲解他们是如何通信的,让大家尽量能够理解他们之间的区别、优缺点等,这样的话,以后面试官让你举例子,你也能够顺手拈来。 1、管道 我们来看一条 Linux 的语句 netstat -tulnp | gr
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
张小龙-年薪近3亿的微信之父,他是如何做到的?
张小龙生于湖南邵东魏家桥镇, 家庭主要特点:穷。 不仅自己穷,亲戚也都很穷,可以说穷以类聚。爷爷做过铜匠,总的来说,标准的劳动阶级出身。 家有兄弟两人, 一个小龙,一个小虎。 小虎好动,与邻里打成一片, 小龙好静,喜好读书。 “文静的像个妹子。”张小龙的表哥如是说。 穷文富武,做个读书郎是个不错的选择。 87年至94年, 华中科技大学本硕连读。 本科就读电信系, 不喜欢上课...
相关热词 如何提升c#开发能力 矩阵乘法c# c#调用谷歌浏览器 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天
立即提问