关于json对象向input框value赋值的问题....

通过ajax得到一个json对象

$.ajax({
                    url:"${ctx}/sys/oaOrganization/JosnToorgId",
                    type:"POST",
                    data:{"orgId":orgId},
                    success:function(data){
                        var junior = JSON.parse(data);
                        console.log(junior);
                    }
                });

想在一个input里取到值

<input type="hidden" name="id" value="" id="id"/>

该怎么在回调函数里写呢?
求大神指教

4个回答

 var junior = JSON.parse(data);
 $("#id").val(junior.id);

async:false, //必须,不然外部js无法获取内容
外部定义一个变量,然后在回调函数里赋值,最后return 常量就能取到值。

qq_17079071
觉罗晓 回复qq_36498920: 是啊
大约 3 年之前 回复
qq_36498920
qq_36498920 我在外部有一个变量 var id,在回调函数里 id = json.id?这样写么?
大约 3 年之前 回复
 $.ajax({
                   url:"${ctx}/sys/oaOrganization/JosnToorgId",
                    type:"POST",
                    data:{"orgId":orgId},
                                        dataType:"json"
                    success:function(data){
                       $("#id").val(data.id);
                    }
                });

这样么?

u010528826
Mr-Yao 回复qq_36498920: ...dataType:"json" 加这个直接就给转了。。。
大约 3 年之前 回复
qq_36498920
qq_36498920 得先把json字符串变成json对象..
大约 3 年之前 回复

$("#inputid").attr("value",junior);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于json对象向select下拉菜单赋值的问题
现有一json对象 success:function(data){ var json = JSON.parse(data); //console.log(json.role); $("#id").val(json.role.id); $("#gwbh").val(json.role.roleCode); $("#gwqc").val(json.role.roleName); $("#issystem").val(json.role.isSystem); $("#idread").val(json.role.isread); $("#qx").val(json.role.name); 成功向其他input框赋值成功.... <select name="permissionId"class="input w50" > <option value="" id="qx"></option> <c:forEach items="${per}" var="per"> <option value="${per.id}" selected="selected">${per.name}</option> </c:forEach> </select> 有一下拉框,<option>标签里id为“qx”的value赋值成功,但就是在页面上不显示![图片说明](https://img-ask.csdn.net/upload/201701/11/1484122077_992702.png) 这是什么原因?
jQuery 给input的value值赋值无效?
如图 点击div 是div中的html值赋值到input文本框中 但是没有效果\ ![图片说明](https://img-ask.csdn.net/upload/201901/22/1548128042_608233.jpg)![图片说明](https://img-ask.csdn.net/upload/201901/22/1548128049_776602.jpg) 代码如下 ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript" src="${pageContext.request.contextPath }/js/jquery-1.11.3.min.js"></script> <script type="text/javascript"> $(function(){ $("#tid").keyup(function(){ //发送ajax $.post("${pageContext.request.contextPath}/kw","kwname="+$("#tid").val(),function(obj){ $("#did").html(""); if(obj!=null){ $(obj).each(function(){ $("#did").append("<div onmouseover='over(this)' onmouseout='out(this)' onclick='clickk(this)'>"+this+"</div>"); $("#did").show(); }) }else{ $("#did").hide(); } },"json") }) }) </script> </head> <body> <center> <div> <h1>搜索</h1> <div> <input type="text" name="kw" id="tid" value="a"><input type="button" value="点击搜索"> </div> <div id="did" style="border: 1px solid red;width: 171px;position:relative;left:-34px;display:none"></div> </div> </center> </body> <script type="text/javascript"> function over(obj){ $(obj).css("background-color","gray"); } function out(obj){ $(obj).css("background-color","white"); } function clickk(obj){ alert($(obj).html()); $("#tid").attr("value",$(this).html()); //$("#tid").attr("value",$(obj).html()); } </script> </html> ```
js全选后遍历取出的值是undefined改怎么解决?
![图片说明](https://img-ask.csdn.net/upload/202001/03/1578038135_799686.jpg) ![图片说明](https://img-ask.csdn.net/upload/202001/03/1578038113_161069.jpg) ``` //复选框监听事件 table.on('checkbox(language)', function (obj) { tr = obj.tr; if (obj.checked == true) { $('input:checkbox').each(function () { chechData.push(JSON.stringify(obj.data)); }); } else { //未选中时移除 for (var i = chechData.length - 1; i >= 0; i--) { if (chechData[i].id == obj.data.id) { chechData.splice(i, 1); } } } }); ``` ``` ``` //选中常用语并赋值 $('#okCom').click('on', function () { debugger var text = parent.document.getElementById("orderContent").value;//获取父页面input框的值 var value = text; for (var i = 0; i < chechData.length; i++) { if( value!== null && value >= 0){ value += chechData[i].text + ""; }else { value = chechData[i].text + "," + value; } } if (text !== null){ window.parent.$('#orderContent').val(value); }else { window.parent.$('#orderContent').val(value).append(text); } window.parent.colseComLanguagePage() }); ``` ``` 该怎么解决呢?
请教关于使用JS实现浏览器简单自动登录的脚本
本人想用 JS 实现谷歌浏览器自动登录功能 以下为JS代码 ``` document.getElementById('username').value='admin'; document.getElementById('password').value='123456'; credentials.username='admin'; credentials.password='123456'; document.getElementById("submit").disabled=false; document.getElementById('submit').click(); ``` 目前问题是 用户名和密码都有 ng-model属性, 导致一直提示账号密码错误。 请问这种情况下 应该怎么修改。请各位大神指导下。 下面是网页的源码: ``` <!DOCTYPE html><html class="no-js vui-layout-html" ng-app="esxUiApp" style="min-width: 768px;"><head class=""><style type="text/css" class="">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}</style> <title ng-bind="$root.title" class="">登录 - VMware ESXi</title> <meta charset="utf-8" class=""> <meta http-equiv="X-UA-Compatible" content="IE=edge" class=""> <meta http-equiv="cache-control" content="max-age=0" class=""> <meta http-equiv="cache-control" content="no-cache" class=""> <meta http-equiv="expires" content="0" class=""> <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" class=""> <meta http-equiv="pragma" content="no-cache" class=""> <meta name="description" content="" class=""> <!-- The initial, max and min scale settings --> <meta name="viewport" content=" width=device-width, initial-scale=0.5001, minimum-scale=1.0001, maximum-scale=5.0001, user-scalable=yes" class=""> <!-- The following will hide the chrome on mobile Safari and Chrome on Android if the user has added a shortcut to their home screen. --> <meta name="mobile-web-app-capable" content="yes" class=""> <meta name="apple-mobile-web-app-capable" content="yes" class=""> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" class=""> <link rel="stylesheet" href="bower_components/vui-bootstrap/css/vui-bootstrap.min.css" class=""> <link rel="stylesheet" href="bower_components/jquery-ui/themes/base/jquery-ui.min.css" class=""> <link rel="stylesheet" href="bower_components/codemirror/lib/codemirror.css" class=""> <link rel="stylesheet" href="bower_components/codemirror/theme/mdn-like.css" class=""> <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.min.css" class=""> <link rel="stylesheet" href="bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" class=""> <link rel="icon" type="image/x-icon" href="favicon.ico" class=""> <link rel="apple-touch-icon" href="apple-touch-icon.png" class=""> <link rel="stylesheet" href="node_modules/vfeed/vfeed.css" class=""> <!-- build:css(.tmp) styles/main.css --> <link rel="stylesheet" href="styles/main.css" class=""> <!-- endbuild --> <!-- we use vendor.css to allow partner customizations, normally it is empty --> <link rel="stylesheet" href="styles/vendor.css" class=""> <script type="text/javascript" charset="utf-8" async="" data-requirecontext="_" data-requiremodule="main" src="scripts/main.js" class=""></script></head> <body ng-app="esxUiApp" class="base-app-style" style="overflow: hidden;"> <!--[if lt IE 7]> <p class="browsehappy"> You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience. </p> <![endif]--> <!-- Add your site or application content here --> <div class=""> <!-- uiView: --><div ui-view="" class=""><div class="loginContainer"> <img id="topSplash" src="images/AppBgPattern.png" alt="背景图像"> <div style="position: absolute; top: 65px; left: 65px;"> <img src="images/vmware_logo_white_transparent.png" style="width: 60%;"> </div> <form name="loginForm" ng-submit="login(credentials)" novalidate="" class="ng-pristine ng-valid"> <div id="loginForm"> <p class="loginRow ng-hide" ng-show="devmode || electron"> <label id="host-label" class="loginLabel">主机名 <input id="hostname" autocomplete="off" aria-labelledby="host-label" tabindex="1" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-untouched ng-valid" type="text" ng-model="credentials.hostname" ng-model-options="{ updateOn: 'blur' }"> </label> </p> <p class="loginRow"> <label id="username-label" class="loginLabel">用户名 <input id="username" aria-labelledby="username-label" tabindex="2" focus-me="true" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-valid ng-touched" type="text" ng-model="credentials.username"> </label> </p> <p class="loginRow"> <label id="password-label" class="loginLabel">密码 <input id="password" autocomplete="off" aria-labelledby="password-label" tabindex="4" ng-disabled="loggingIn" ng-class="{loginFailed: loginFailed}" class="margeTextInput ng-pristine ng-untouched ng-valid" type="password" ng-model="credentials.password"> </label> </p> <p>&nbsp;</p> <p id="loginButtonRow"> <input id="submit" class="button blue" type="submit" value="登录" ng-disabled="credentials.username === '' || loggingIn" disabled="disabled"> </p> </div> <div id="productName"> <img src="images/vmware_logo_white_transparent.png" style="width: 120px; margin-right: 10px;"> <img src="images/esxi.png" style="margin-bottom: 2px; width: 60px;"> <!-- ngIf: loggingIn --> <!-- ngIf: status !== null --> <div ng-show="welcome !== null &amp;&amp; !loggingIn &amp;&amp; !initializing" ng-style="{'margin-top': status === null ? '29px' : '10px'}" class="loginWelcome ng-hide" style="margin-top: 29px;"> <div ng-bind-html="welcome | escapeHtml | linebreak"></div> <div ng-show="accept !== null" style="margin: 10px; text-align: right;" class="ng-hide"> <label> <input type="checkbox" tabindex="3" ng-model="accepted" style="margin: 0 5px 0 0;" class="ng-pristine ng-untouched ng-valid"> </label> </div> </div> </div> </form> <div id="footer" class="footer"> <a href="https://www.vmware.com/cn/support/pubs/" target="_blank"> <i class="esx-icon-help-new-window" style="margin-top: -3px; margin-right: 6px;"></i>打开 VMware Host Client 文档</a> <div style="float: right;"></div> </div> </div> </div> </div> <!-- Fixes required for electron --> <script class=""> var _loc = String(window.location); if (_loc && _loc.indexOf('file:///') >= 0) { // requireJS has a bit of a crippled exporting mechanism for node, so we need to pull // these objects up into global scope. require('./bower_components/es6-promise/es6-promise.min.js'); window.$ = window.jQuery = require('./bower_components/jquery/dist/jquery.min'); require('./bower_components/jquery-ui/jquery-ui.min'); window.I18n = require('./bower_components/i18n-js/app/assets/javascripts/i18n.js') window.vsphere = require('./thirdparty/vspherejs/index.js') window.ipaddr = require('./bower_components/ipaddr/ipaddr.min.js'); } </script> <!-- end electron --> <!-- build:js(.) scripts/oldieshim.js --> <!--[if lt IE 9]> <script src="bower_components/es5-shim/es5-shim.js"></script> <script src="bower_components/json3/lib/json3.js"></script> <![endif]--> <!-- endbuild --> <script src="bower_components/jxon/index.js" class=""></script> <script src="bower_components/i18n-js/app/assets/javascripts/i18n.js" class=""></script> <script src="bower_components/es6-shim/es6-shim.min.js" class=""></script> <!-- The main entry point for Angular --> <script src="bower_components/requirejs/require.js" data-main="scripts/main" class=""></script> </body></html> ```
js如何解析后端逗号分隔数据?
JSON数据:想要把inputList中数据赋值到select下拉框中 ``` // 20200207152810 // http://localhost:9090/productAttr/list/2?type=1 { "code": 200, "message": "操作成功", "data": [ { "id": 5, "productAttributeCategoryId": null, "inputList": "背带,哈伦裤,工装裤,阔腿裤,铅笔裤,运动", "name": "款式", "type": 1 }, { "id": 6, "productAttributeCategoryId": null, "inputList": "短裤,七分裤,长裤", "name": "裤长", "type": 1 }, { "id": 7, "productAttributeCategoryId": null, "inputList": "2020上市", "name": "时间", "type": 1 }, { "id": 8, "productAttributeCategoryId": null, "inputList": "时尚潮流", "name": "风格", "type": 1 } ] } ``` 前端代码用jquery遍历的 ``` function putParam(result) { $.each(result.data, function (index, obj) { var test = ' <div class="layui-form-item"> <label class="layui-form-label">' + obj["name"] + '</label>' + ' <div class="layui-input-block" >' + ' <select name="city" lay-verify="required" id="param-select">' + ' <option value="">请选择</option>' + ' <option value="">'+obj["inputList"]+'</option>' + ' </select>' + ' </div></div>'; $('#param-body').append(test); }) } ``` 现在的问题是下拉框中的obj["inputList"]是所有的数据,如何拆分并根据name属性分别赋值?
JQuery中ajax不能解析json
Action: @Controller @Scope("prototype") @Namespace("/") @ParentPackage("json-default") public class OaAction extends ActionSupport private String name; private String pass; private String msg; @Action(value="/login", results={@Result(name="success",location="/main.jsp"), @Result(name = "login",type="json") }) public String login() { Map<String,Object> map = new HashMap<String,Object>(); if(name=="经理1" && pass=="123456") { //将数据存储在map里,再转换成json类型数据,也可以自己手动构造json类型数据 map.put("flag","true"); map.put("info","欢迎登陆"); JSONObject json = JSONObject.fromObject(map);//将map对象转换成json类型数据 msg = json.toString();//给msg赋值,传递给页面 return SUCCESS; } else { map.put("flag","false"); map.put("info","用户名或者密码错误"); //将map对象转换成json类型数据,在此处打断点json有以下两个属性 nullObject : null; propeties:{flag=false, info=用户名或者密码错误} JSONObject json = JSONObject.fromObject(map); msg = json.toString();//给msg赋值,传递给页面 return "login"; } } @JSON public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public void setName(String name) { this.name = name; } public String getName() { return name; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } jsp: <div id="lg"> <input type="text" name="username" id="uname"/> <input type="password" name="password" id="password"/> <input type="submit" class="login-sub" value="" id="lgbtn"/> <br /> <div id="msg"></div> </div> $(function(){ $('#lgbtn').click(function(){ var name=document.getElementById("uname").value; var pass=document.getElementById("password").value; $.ajax ({ url:"login.action", dataType:"json", type:"post", data:"name="+name+"&pass="+pass, async:false, success:function(data) { //将数据转换成json类型,可以把data用alert()输出出来看看到底是什么样的结构 alert(data);//弹出对话框的内容为:Object object var d = eval('('+data+')'); alert(""+d.flag+""); //没有弹出对话框 alert(""+d.info+""); }, error:function() { alert("请求失败");//没有报请求失败 } }); }); });
动态添加name属性相同的select2标签多选下拉框 如何取值和赋值
**问题描述:** 所有下标值混合一块 ; **需要实现的效果:** 心 肺 小肠 对应id 分别1、2、3 作为一组 xuewei_id[0] 第二行 对应下标为 xuewei_id[1] ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533115383_492903.png) ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533116123_928546.png) 图3 这个是直接接受 select2 标签的穴位id ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533116308_133310.png) js代码 ``` // 显示修改关键字症状界面 function updateView(id, system_id) { $("#btntype").val(1); $("#Submit1").click(function() { add(1); }); $ .ajax({ type : "POST", url : "/erzhentang/manage/forAjax.do?requestType=12.1", data : "id=" + id + "&system_id=" + system_id, // 发送到服务器的数据默认id是结论id success : function(msg) { $("#xuewei_id").val("1,2,3").select2(); /* alert(msg); */ var json = eval('(' + msg + ')'); document.getElementById("addModel").style.display = "block"; document.getElementById("id1").value = json.earScanJielun.id; document.getElementById("system_id1").value = json.earScanJielun.system_id; /* 遍历所属系统下所有 耳穴频扫疾病项 */ var arrESJ = eval(json.listEarScanJibing);// arrESJ是一个数组 var checkESJ = document.getElementById("jibing_num1"); var str2 = ""; for (var j = 0; j < arrESJ.length; j++) { str2 += "<option value=\"" + arrESJ[j].jibing_num + "\">" + arrESJ[j].name + "</option>"; var checkESJ2 = arrESJ[j].name; if (arrESJ[j].jibing_num == json.earScanJielun.jibing_num) {// 疾病编号人为控制每个编号都是唯一 arrESJ[j].name = "selected='selected'"; } $("#jibing_num1").html(str2); } document.getElementById("jibing_num1").value = json.earScanJielun.jibing_num; document.getElementById("jielun_rank1").value = json.earScanJielun.jielun_rank; document.getElementById("jielun1").value = json.earScanJielun.jielun; /* 下半截部分组合表动态展示修改和添加 */ var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { str += "<tr>"; str += "<td colspan=\"8\">"; str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">"; str += "<div style=\"float: left;\">"; str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >" + arrESC[i].id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 * 所有展示项目为主表客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect.options[j].value); str += "<option value=\"" + myselect.options[j].value + "\" " + (myselect.options[j].value == arrESC[i].gender ? "selected='selected'" : "") + ">" + myselect.options[j].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >" + arrESC[i].min_age + "</textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >" + arrESC[i].max_age + "</textarea>"; // str += "<textarea style=\"width: // 300px;margin-left:10px;\" id=\"xuewei_id\" // name=\"xuewei_id\" >" // + arrESC[i].xuewei_id + "</textarea>"; // str +="<div id=\"selectSection\">"; /* * id=\"xuewei_id\" */ str += "<textarea style=\"width:300px;margin-left:10px;display:none;\" id=\"xuewei_id1\" name=\"xuewei_id1\" >" + arrESC[i].xuewei_id + "</textarea>"; // str += "<div id=\"selectSection\" name=\"selectSection\">"; str += "<select style=\"width: 300px;margin-left:10px;\" name=\"xuewei_id\"class=\"combox\" multiple >" str += "<optgroup label=\"小辈儿组\">"; str += "<option value=\"1\" " + "selected='selected'" + ">心</option>"; str += "<option value=\"2\" " + "selected='selected'" + ">" + "肺" + "</option>"; str += "<option value=\"3\" " + "selected='selected'" + ">" + "小肠" + "</option>"; str += "<option value=\"4\">" + "口" + "</option>"; str += "<option value=\"5\">" + "食道" + "</option>"; str += "</optgroup>"; // str += "</div>"; /* 进一步转换频扫组合表穴位id字符串转array数组 */ /* * var strXueweiId = arrESC[i].xuewei_id; var * arrayXueweiId = strXueweiId.split(","); * * for (var j = 0; j < arrayXueweiId.length; j++) { str2 += "<option * value=\"" + arrayXueweiId[j].value + "\">" + * arrayXueweiId[j].value + "</option>"; var checkESJ2 = * arrayXueweiId[j].name; if (arrayXueweiId[j] == 5) { * arrayXueweiId[j] = "selected='selected'"; } * $("#jibing_num1").html(str2); } */ "</select>"; // // $("#xuewei_id").val("1,2,3").select2(); str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >" + arrESC[i].chuzhen_id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 10px;\" id=\"bp\" name=\"bp\" >" var myselect1 = document.getElementById("bp");// 这个获取的是静态jsp页面里标签 for (var k = 0; k < myselect1.options.length; k++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect1.options[k].value); str += "<option value=\"" + myselect1.options[k].value + "\" " + (myselect1.options[k].value == arrESC[i].bp ? "selected='selected'" : "") + ">" + myselect1.options[k].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"jielun_conform\" name=\"jielun_conform\">" + arrESC[i].jielun_conform + "</textarea>"; str += "</div>"; str += "<div >"; str += " <input type=\"button\" onclick=\"delRow(this," + arrESC[i].id + "," + arrESC[i].bianzhengId + ")\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">"; str += "</div>"; str += "</div>"; str += "</td>"; str += "</tr>"; /* 替换静态页面 */ $("#tbody1").html(str); select2Execute(); } } }); } ``` 执行select2方法 ``` /* 执行select2方法 */ function select2Execute() { $(function() { $("select[name='xuewei_id']").select2({ // $('select[id="xuewei_id"]').select2({ // $('#xuewei_id').select2({ // $("#selectSection").find("select.combox").select2({ // $(".select2-selection__choice").select2(); // $(".combox").select2({ placeholder : "请至少选择一个人名", tags : true, createTag : function(decorated, params) { return null; }, width : '256px' }); function formatState(state) { if (!state.id) { return state.text; } var $state = $('<span>' + state.text + '</span>'); return $state; } ; $('#sel_recommender').select2({ placeholder : "请选择一个人名", templateResult : formatState, width : '256px' }); alert($("select[name='xuewei_id']").select2('data')[0].text); // $("#selectSection").find("select.xuewei_id").val(); // document.getElementById("selectSection").value=$("select[name='xuewei_id']").select2('data'); $("#xuewei_id1").val( $("select[name='xuewei_id']").select2('data'));//赋值给textarea隐藏的标签 alert($("#xuewei_id1").val()); }); } ```
后台传来的json数组的id值 和 前端修改的值就行整合
**完整的json数组包含一个小的json数组 点击完整json数组的其他元素时小json数组返回的值也没了** ** 实际上点击任何一个元素 之前的都会消失 而且心 和肝 点击后背景不会退掉** ``` var arr1 = [ { "name" : "心", "acupoint_num" : "1" }, { "name" : "肝", "acupoint_num" : "2" }, { "name" : "脑袋", "acupoint_num" : "3" }, { "name" : "屁股", "acupoint_num" : "4" } ]; var retStr = ","; $('#xueweiList').append( $(arr1).map( function() { return '<li id=' + this.acupoint_num + '><a href="#" >' + this.name + '</a></li><li>' }).get().join('')); $("#nav>ul>li").click( function() { var focus = $(this).toggleClass('h_nav_over') .hasClass('h_nav_over'); if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ','); $("#xueweis").val(retStr.replace(/^,|,$/g, '')); }); /* 2-获取疾病对应穴位 */ var arr2 = [ { "earName" : "心", "acupoint_num" : "1" }, { "earName" : "肝", "acupoint_num" : "2" } ]; var arrStr2 = ''; var xueweisStr = ""; $.each(arr2, function(index2, item) { // 获取后台传来的json是数组 arrStr2 += "<input type='button' id='" + arr2[index2].acupoint_num + "' value='" + arr2[index2].earName + "' name='earName'/>"; $.each(arr1, function(index, item) { if(arr2[index2].acupoint_num==arr1[index].acupoint_num){ $("#"+arr1[index].acupoint_num).css({"background-color":"#98bf21"}); $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值 } }); xueweisStr += arr2[index2].acupoint_num + ","; }); $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值 var td2 = document.getElementById("xueweiTd2"); var div2 = document.getElementById("xuewei2"); div2.innerHTML = arrStr2; td2.appendChild(div2); }); ``` 这个是没有点击脑袋之前 小的json数组包含 1 和2 两个id 对应 心和肝 ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469094478_441858.png) 这个是点击脑袋之后 1 和2 都没有了 ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469094529_702469.png)
easyui回显数据,下拉框中内容第一次加载不出来,刷新一次才可以,求解决!!!
``` <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CreatePsyjs.aspx.cs" Inherits="RM_CNOOC.EDOC.RMDOC.CreatePsyjs" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10;text/html; charset=utf-8"/> <meta http-equiv="X-UA-Compatible" content="IE=edge;text/html; charset=utf-8"/> <title></title> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/easyui.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/icon.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/color.css"/> <link rel="stylesheet" type="text/css" href="../../Scripts/easyui/demo.css"/> <script type="text/javascript" src="../../Scripts/easyui/jquery.min.js"></script> <script type="text/javascript" src="../../Scripts/easyui/jquery.easyui.min.js"></script> <script type="text/javascript" src="../../Scripts/easyui/datagrid-filter.js"></script> <style type="text/css"> .divcss5{width:1610px} .wby{color:rgb(128, 128, 128)} </style> </head> <body style="font-family:微软雅黑,'Times New Roman', Times, serif;"> <form id="fm" method="post" style="margin-top:10px;padding:0px 50px" runat="server"> <div style="margin-bottom:10px"> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 报告名称:<input name="bgmc" id="bgmc" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',required:true" style="width:90.3%"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 储量类型: <select name="cllx" id="cllx" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="00">>>>请选择<<<</option> <option value="0">新增</option> <option value="1">复算</option> <option value="2">核算</option> <option value="3">新增、复算</option> <option value="4">新增、核算</option> <option value="5">复算、核算</option> <option value="6">新增、复算、核算</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 油气类别: <select name="id_yqlb" id="id_yqlb" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="1">石油</option> <option value="2">天然气</option> <option value="3">石油和天然气</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 申报单位:<select name="sbdw" id="sbdw" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:40%"> <option value="1">中海石油(中国)有限公司</option> <option value="2">中国海洋石油总公司</option> <option value="3">中国海洋石油集团公司</option> <option value="4">中国海洋石油总公司、中海石油(中国)有限公司</option> <option value="5">中国海洋石油集团公司、中海石油(中国)有限公司</option> </select> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审时间:<input name="pssj" id="pssj" class="easyui-datebox" data-options="editable:false,required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审会议地址: <select name="pshydz" id="pshydz" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%"> <option value="1">北京</option> <option value="2">天津</option> <option value="3">上海</option> <option value="4">深圳</option> <option value="5">湛江</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 编写单位:<select name="bxdw" id="bxdw" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:40%"> <option value="1">中海石油(中国)有限公司天津分公司</option> <option value="2">中海石油(中国)有限公司湛江分公司</option> <option value="3">中海石油(中国)有限公司深圳分公司</option> <option value="4">中海石油(中国)有限公司上海分公司</option> <option value="5">中联煤层气责任有限公司</option> </select> </div> <div style="margin-bottom:10px" class="d1"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审汇报人:<input name="pshbr" id="pshbr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 评审专家组组长:<select name="pszjzzz" id="pszjzzz" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:15%;"> </select> &nbsp&nbsp&nbsp&nbsp&nbsp 专家组成员:<select name="pszjzcy" id="pszjzcy" data-options="multiple:true,valueField:'value', textField:'text',editable:false" style="width:37%;"> </select> <a id="zjzcy_add" href="javascript:OpenAddZjzcy(0);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:'true'" style="width:26px;height:26px">新增</a> </div> <div style="margin-bottom:10px"> 评审机构负责人:<input name="psjgfzr" id="psjgfzr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 会议主持人:<input name="hyzcr" id="hyzcr" class="easyui-textbox" data-options="valueField:'value', textField:'text',required:true" style="width:15%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 申报日期 : <input name="sbrq" id="sbrq" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp 会议日期 : <input name="hyrq01" id="hyrq01" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/>~ <input name="hyrq02" id="hyrq02" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%"/> </div> <div style="margin-bottom:10px" class="d1"> 评审意见书执笔人: <select name="psyjszbr" id="psyjszbr" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:12%"> <option>>>>请选择<<<</option> </select> <a id="psyjszbr_add" href="javascript:OpenAddZjzcy(1);" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:'true'" style="width:26px;height:26px">新增</a> </div> <hr /> <div class="divcss5"> <div style="margin-bottom:10px"> <h2>一、油田申报区概况 </h2> </div> (一)位置、交通和自然地理概况: <div class="wby" style="margin-bottom:10px"> <input name="wzjtdl" id="wzjtdl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/> 示例说明:xx油田申报区位于中国xx海域,距香港约xxkm....... </div> (二)地质概况: <div class="wby" style="margin-bottom:10px"> <input name="dlgk" id="dlgk" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (三)储层基本特征: <div class="wby" style="margin-bottom:10px"> <input name="ccjbtz" id="ccjbtz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (四)油藏特征: <div class="wby" style="margin-bottom:10px"> <input name="yctz" id="yctz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (五)共伴生矿产资源简况: <div class="wby" style="margin-bottom:10px"> <input name="gbskczy" id="gbskczy" class="easyui-textbox" value="申报区目的层系内尚未发现除油气以外的共伴生矿产资源。" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> <h2>二、油田勘探开发利用简况 </h2> </div> (一)以往勘探工作: <div class="wby" style="margin-bottom:10px"> <input name="ywktgz" id="ywktgz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (二)油田开发利用简况: <div class="wby" style="margin-bottom:10px"> <input name="ytkfly" id="ytkfly" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (三)毗邻油田的有用信息: <div class="wby" style="margin-bottom:10px"> <input name="plytyyxx" id="plytyyxx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:50%;height:150%"/>示例说明: </div> (四)本次工作情况:<br /> <h3>1.矿业权情况</h3> <div id="div_kyq"></div> <div style="margin-bottom:10px"> <h3>2.与生态环境保护区重叠情况</h3> <select name="sthjbhq" id="sthjbhq" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:7%"> <option value="1">有</option> <option value="2">无</option> </select> </div> <div style="margin-bottom:10px" id="div_id_sthjbhqmc"> 生态环境保护区名称:<input name="sthjbhqmc" id="sthjbhqmc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:15%"/> </div> </div> <h3>3.勘探工作情况(申报区已完成的勘探工作量和取资料情况如下:)</h3> (1)地震: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_dz" id="ktgz_dz" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (2)钻井: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_zj" id="ktgz_zj" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (3)测井: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_cj" id="ktgz_cj" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (4)测试: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_cs" id="ktgz_cs" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> (5)分析化验: <div class="wby" style="margin-bottom:10px"> <input name="ktgz_fxhy" id="ktgz_fxhy" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div id="div_id_xzgzl"> <div id="div_top_id_xzgzl"></div> </div> <div class="wby" style="margin-bottom:10px"> <input name="ktgz_yfhsqxb" id="ktgz_yfhsqxb" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> <h2>三、储量申报情况</h2> </div> <div style="margin-bottom:10px"> (一)产量起算标准 </div> <div style="margin-bottom:10px"> 储量计算截止日期: <input name="cljsjzrq" id="cljsjzrq" class="easyui-datebox" data-options="editable:false,required:true" style="width:10%" /> 地质储量计算方法: <select name="dzcljsff" id="dzcljsff" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="1">容积法</option> <option value="2">动态法</option> <option value="3">概率法</option> </select> </div> <div style="margin-bottom:10px"> <select name="id_clqsbz_y" id="id_clqsbz_y" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false" style="width:20%"> <option value="1">≤500m-2.5</option> <option value="2">>500m~≤1000-4.0</option> <option value="4">>1000m~≤2000-7.5</option> <option value="5">>2000m~≤3000-12.5</option> <option value="6">>3000m~≤4000-17.5</option> <option value="7">>4000m-25.0</option> </select>埋藏深度;单井油产量 <select name="id_clqsbz_q" id="id_clqsbz_q" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false" style="width:20%"> <option value="1">≤500m-0.3</option> <option value="2">>500m~≤1000-0.5</option> <option value="3">>1000m~≤2000-1.0</option> <option value="4">>2000m~≤3000-2.0</option> <option value="5">>3000m~≤4000-2.5</option> <option value="6">>4000m-3.5</option> </select>&nbsp&nbsp 埋藏深度;单井气产量 </div> (二)储量估算结果<br /> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 新增储量名称:<input name="xzclmc" id="xzclmc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:30.5%"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 矿权类别:<input name="kqlb" id="kqlb" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 海域: <select name="hy" id="hy" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="1">渤海</option> <option value="2">东海</option> <option value="3">黄海</option> <option value="4">南海</option> </select> </div> (三)储量参数选取:<br /> 1.储量状态界定: <div class="wby" style="margin-bottom:10px"> <input name="clztjd" id="clztjd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 2.计算单元划分: <div class="wby" style="margin-bottom:10px"> <input name="jsdyhf" id="jsdyhf" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 3.含油面积圈定: <div class="wby" style="margin-bottom:10px"> <input name="hymjqd" id="hymjqd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 4.有效厚度: <div class="wby" style="margin-bottom:10px"> <input name="yxhd" id="yxhd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 5.有效孔隙度: <div class="wby" style="margin-bottom:10px"> <input name="yxkxd" id="yxkxd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 6.原始含油饱和度: <div class="wby" style="margin-bottom:10px"> <input name="yshybhd" id="yshybhd" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 7.地面原油密度、原始原油体积系数和气油比: <div class="wby" style="margin-bottom:10px"> <input name="dmyymd_ysyytjxshqyb" id="dmyymd_ysyytjxshqyb" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 8.技术可采储量: <div class="wby" style="margin-bottom:10px"> <input name="jskccl" id="jskccl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> 9.经济可采储量: <div class="wby" style="margin-bottom:10px"> <input name="jjkccl" id="jjkccl" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <div id="div_id_clbhyyfx"> <div id="div_top_id_clbhyyfx"></div> 地质储量变化原因: <div style="margin-bottom:10px"> <input name="dzclbhyyfx" id="dzclbhyyfx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/><br /> </div> 可采储量变化原因: <div style="margin-bottom:10px"> <input name="kcclbhyyfx" id="kcclbhyyfx" class="easyui-textbox" value="无" data-options="multiline:true,valueField:'value', textField:'text',editable:true,required:true" style="width:72%;height:150%"/><br /> </div> </div> <div style="margin-bottom:10px"> <h2>四、储量报告评审情况</h2> </div> <h3>调查</h3> <div style="margin-bottom:10px"> &nbsp 油田类型: <select name="ytlx" id="ytlx" class="easyui-combobox" data-options="valueField:'value', textField:'text',editable:false,required:true" style="width:10%"> <option value="00">>>>请选择<<<</option> <option value="1">中型</option> <option value="2">大型</option> </select> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 调查日期: <input name="dc_rq01" id="dc_rq01" class="easyui-datebox" data-options="required:true" style="width:10%"/>至 <input name="dc_rq02" id="dc_rq02" class="easyui-datebox" data-options="required:true" style="width:10%"/> </div> <div style="margin-bottom:10px"> 调查组组长:<input name="dc_zz" id="dc_zz" class="easyui-textbox" data-options="required:true" style="width:10%"/> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 成员:<input name="dc_cy" id="dc_cy" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:21%"/> 调查现场: <input name="dc_xc" id="dc_xc" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:19%"/> </div> <h3>主要评审意见</h3> <div style="margin-bottom:10px"> 参数是否有修改: 没有<input type="radio"name="zypsyj" value="0" /> 有<input type="radio"name="zypsyj" value="1" checked="checked"/> </div> 申报区为: <div class="wby" style="margin-bottom:10px"> <input name="sbq" id="sbq" class="easyui-textbox" data-options="multiline:true,valueField:'value', textField:'text',editable:true" style="width:72%;height:150%"/>示例说明: </div> <div style="margin-bottom:10px"> 申报的储量报告包括主报告1份、附图表册1份,还包括: <input name="sbcl" id="sbcl" class="easyui-textbox" data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:20%"/> </div> 评审组认为: <div class="wby" style="margin-bottom:10px"> <input name="psz_yj" id="psz_yj" class="easyui-textbox" value="无" data-options="multiline:true, textField:'text',editable:true,required:true" style="width:72%;height:150%"/>示例说明: </div> <h2>六、说明与建议</h2> <div style="margin-bottom:10px"> 注意材料: <input name="zycl" id="zycl" class="easyui-textbox"data-options="valueField:'value', textField:'text',editable:true,required:true" style="width:10%"/> </div> <h3>附件</h3> <div style="margin-bottom:10px"> 与矿业权许可证范围叠合图(局部放大): 无<input type="radio"name="fj_kyqxkz_jb" value="0" /> 有<input type="radio"name="fj_kyqxkz_jb" value="1" checked="checked"/> </div> <div style="margin-bottom:10px"> &nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 与海域范围叠合图(局部放大): 无<input type="radio"name="fj_hy_jb" value="0" /> 有<input type="radio"name="fj_hy_jb" value="1" checked="checked"/> </div> </div> <input type="hidden" name="bgmc_text01" id="bgmc_text01" /> <input type="hidden" name="bgmc_text02" id="bgmc_text02" /> <input type="hidden" name="sbdw_text" id="sbdw_text" /> <input type="hidden" name="bxdw_text" id="bxdw_text" /> <input type="hidden" name="cllx_text" id="cllx_text" /> <input type="hidden" name="pszjzzz_text" id="pszjzzz_text" /> <input type="hidden" name="xzcy" id="xzcy" /> <input type="hidden" name="pszjzcy_text" id="pszjzcy_text" /> <input type="hidden" name="yqlb_text" id="yqlb_text" /> <input type="hidden" name="psyjszbr_text" id="psyjszbr_text" /> <input type="hidden" name="xzzbr" id="xzzbr" /> <input type="hidden" name="id_clqsbz_text" id="id_clqsbz_text" /> <input type="hidden" name="id_clqsbz_y_text" id="id_clqsbz_y_text" /> <input type="hidden" name="id_clqsbz_q_text" id="id_clqsbz_q_text" /> <input type="hidden" name="dzcljsff_text" id="dzcljsff_text" /> <input type="hidden" name="hy_text" id="hy_text" /> <input type="hidden" name="pshydz_text" id="pshydz_text" /> <input type="hidden" name="ytlx_text" id="ytlx_text" /> </form> <div id="dlg-buttons"> <a id="btn_add_doc" href="javascript:saveDoc()" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:90px">保存</a> <a id="btn_export_doc" href="javascript:exportDoc();" data-options="iconCls:'icon-ok'" class="easyui-linkbutton c6" style="width:90px">导出</a> </div> <div id="div_addCY01" class="easyui-dialog" style="width:600px" data-options="closed:true,modal:true,border:'thin'"> <form id="fm1" enctype="multipart/form-data" style="margin:10px 0px;padding:0px 50px" method="post"> 专家组成员: <div style="margin-bottom:10px"> <input id="pszjzxzcy" name="fm1_pszjzxzcy" class="easyui-textbox" multiple:'multiple'" style="width:80%"/> <a id="save" href="javascript:AddZjzcy(0)" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:80px">保存</a> </div> </form> </div> <div id="div_addCY02" class="easyui-dialog" style="width:600px" data-options="closed:true,modal:true,border:'thin',buttons:'#div_save'"> <form id="fm2" enctype="multipart/form-data" style="margin:10px 0px;padding:0px 50px" method="post"> 评审意见书执笔人: <div style="margin-bottom:10px"> <input id="psyjsxzzbr" name="fm2_psyjsxzzbr" class="easyui-textbox" multiple:'multiple'" style="width:80%"/> <a id="save1" href="javascript:AddZjzcy(1)" class="easyui-linkbutton c6" data-options="iconCls:'icon-ok'" style="width:80px">保存</a> </div> </form> </div> <script type="text/javascript"> var uuid = "<%=uuid%>"; var load = "<%=load%>"; var kyqNumCount = 0; var kyqlxmc = ""; var pszjzxzcy = ""; var psyjsxzzbr = ""; //加载页面 if (load == "3") { $.ajax({ url: "ExportWord.ashx", data: { 'load': '3', 'uuid': uuid }, async: false, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData); //回显矿业权情况 var kyqqk = [] ; var arr = psyjs["t"][0].kyqqk.split(';'); for(var i = 0;i<arr.length;i++){ var yiWei = []; var m = arr[i].split('-'); for(var j = 0;j<m.length;j++){ yiWei.push(m[j]); } kyqqk.push(yiWei); } var str = ""; for (var i = 0; i < psyjs["t"][0].kqsl; i++) { str += "<div id='div_id_kyq_kc_rq"+i+"'>" + "<div style='margin-bottom:10px'>" + "矿业权登记项目名称:<input name='kyqdjxmmc"+i+"' id='kyqdjxmmc"+i+"' value='"+ kyqqk[i][0] +"' class='easyui-textbox' data-options='editable:false' style='width:15%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "矿业权许可证号:<input name='kyqxkzh"+i+"' id='kyqxkzh"+i+"' value='"+kyqqk[i][1]+"' class='easyui-textbox' data-options='editable:false' style='width:10%'/>" + "</div>" + "<div style='margin-bottom:10px'>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "有效期限自:" + "<input name='kyqrq0"+i+"' id='kyqrq0"+i+"' value='"+ kyqqk[i][4] +"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7%'/>至" + "<input name='kyqrq1"+i+"' id='kyqrq1"+i+"' value='"+ kyqqk[i][5] +"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7.5%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + kyqqk[i][2]+"面积:<input name='kyqmj"+i+"' id='kyqmj"+i+"' value='"+ kyqqk[i][3] +"' class='easyui-textbox' data-options='editable:true,required:true' style='width:10%'/>" + "</div>" + "</div>"; kyqlxmc += kyqqk[i][2] + ","; kyqNumCount++; } $("#div_kyq").append(str); } }); } else { //新建数据 $.ajax({ url: "ExportWord.ashx", data: { 'load': '1', 'ytdm': getQueryString('ytdm'), 'nd': getQueryString('nd') }, async: false, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData) var str = ""; for (var i = 0; i < psyjs["t"].length; i++) { var lxmc = psyjs["t"][i].KYQLXMC; var index=lxmc.lastIndexOf("\【"); lxmc = lxmc.substring(index + 1, lxmc.length); lxmc = lxmc.substring(0, lxmc.length - 1); str += "<div id='div_id_kyq_kc_rq"+i+"'>" + "<div style='margin-bottom:10px'>" + "矿业权登记项目名称:<input name='kyqdjxmmc"+i+"' id='kyqdjxmmc"+i+"' value='"+psyjs["t"][i].KYQMC+"' class='easyui-textbox' data-options='editable:false' style='width:15%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "矿业权许可证号:<input name='kyqxkzh"+i+"' id='kyqxkzh"+i+"' value='"+psyjs["t"][i].KYQXKH+"' class='easyui-textbox' data-options='editable:false' style='width:10%'/>" + "</div>" + "<div style='margin-bottom:10px'>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + "有效期限自:" + "<input name='kyqrq0"+i+"' id='kyqrq0"+i+"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7%'/>至" + "<input name='kyqrq1"+i+"' id='kyqrq1"+i+"' class='easyui-datebox' data-options='editable:false,required:true' style='width:7.5%'/>" + "&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp" + lxmc+"面积:<input name='kyqmj"+i+"' id='kyqmj"+i+"' class='easyui-textbox' data-options='editable:true,required:true' style='width:10%'/>" + "</div>" + "</div>"; kyqlxmc += lxmc + ","; kyqNumCount++; } $("#div_kyq").append(str); } }); } $(document).ready(function () { GetOption(); //禁用文本框 $("#dc_rq01").textbox("disable"); $("#dc_rq02").textbox("disable"); $("#dc_cy").textbox("disable"); $("#dc_zz").textbox("disable"); $("#dc_xc").textbox("disable"); $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#ktgz_yfhsqxb").textbox("disable"); $("#dzclbhyyfx").textbox("disable"); $("#kcclbhyyfx").textbox("disable"); // 填充数据 if (load == "3") { //回显数据 $.ajax({ url: "ExportWord.ashx", data: { 'load': '3', 'uuid': uuid }, type: 'post', success: function (resultData) { var psyjs = JSON.parse(resultData); $('#bgmc').textbox('setValue', psyjs["t"][0].bgmc); $('#cllx').textbox('setValue', psyjs["t"][0].cllx); if (psyjs["t"][0].cllx != "新增") { $("#ktgz_yfhsqxb").textbox("enable"); $("#dzclbhyyfx").textbox("enable"); $("#kcclbhyyfx").textbox("enable"); } $('#id_yqlb').textbox('setValue', psyjs["t"][0].yqlb); $('#pssj').textbox('setValue', psyjs["t"][0].pssj); $('#sbdw').textbox('setValue', psyjs["t"][0].sbdw); $('#bxdw').textbox('setValue', psyjs["t"][0].bxdw); $('#pshbr').textbox('setValue', psyjs["t"][0].pshbr); $('#hyzcr').textbox('setValue', psyjs["t"][0].hyzcr); $('#psjgfzr').textbox('setValue', psyjs["t"][0].psjgfzr); $('#pszjzzz').textbox().textbox('setValue', psyjs["t"][0].pszjzzz); $('#pszjzcy').textbox().textbox('setValue', psyjs["t"][0].pszjzcy); $('#psyjszbr').textbox().textbox('setValue', psyjs["t"][0].zbr); $('#sbrq').textbox().textbox('setValue', psyjs["t"][0].sbrq); $('#hyrq01').textbox().textbox('setValue', psyjs["t"][0].hyrq_start); $('#hyrq02').textbox().textbox('setValue', psyjs["t"][0].hyrq_end); $('#pshydz').textbox().textbox('setValue', psyjs["t"][0].pshydz); $('#wzjtdl').textbox('setValue', psyjs["t"][0].wzjtdl); $('#dlgk').textbox('setValue', psyjs["t"][0].dlgk); $('#ccjbtz').textbox('setValue', psyjs["t"][0].ccjbtz); $('#yctz').textbox('setValue', psyjs["t"][0].yctz); $('#gbskczy').textbox('setValue', psyjs["t"][0].gbskczy); $('#ywktgz').textbox('setValue', psyjs["t"][0].ywktgz); $('#ytkfly').textbox('setValue', psyjs["t"][0].ytkfly); $('#plytyyxx').textbox('setValue', psyjs["t"][0].plytyyxx); $('#sthjbhqmc').textbox('setValue', psyjs["t"][0].sthjbhqmc); $('#ktgz_dz').textbox('setValue', psyjs["t"][0].ktgz_dz); $('#ktgz_zj').textbox('setValue', psyjs["t"][0].ktgz_zj); $('#ktgz_cj').textbox('setValue', psyjs["t"][0].ktgz_cj); $('#ktgz_cs').textbox('setValue', psyjs["t"][0].ktgz_cs); $('#ktgz_fxhy').textbox('setValue', psyjs["t"][0].ktgz_fxhy); $('#ktgz_yfhsqxb').textbox('setValue', psyjs["t"][0].ktgz_yfhsqxb); $('#cljsjzrq').textbox('setValue', psyjs["t"][0].cljsjzrq); $('#dzcljsff').textbox('setValue', psyjs["t"][0].dzcljsff); $('#id_clqsbz_y').textbox('setValue', psyjs["t"][0].clqsbz_y); $('#id_clqsbz_q').textbox('setValue', psyjs["t"][0].clqsbz_q); $('#xzclmc').textbox('setValue', psyjs["t"][0].xzclmc); $('#kqlb').textbox('setValue', psyjs["t"][0].kqlb); $('#clztjd').textbox('setValue', psyjs["t"][0].clztjd); $('#jsdyhf').textbox('setValue', psyjs["t"][0].jsdyhf); $('#hymjqd').textbox('setValue', psyjs["t"][0].hymjqd); $('#yxhd').textbox('setValue', psyjs["t"][0].yxhd); $('#yxkxd').textbox('setValue', psyjs["t"][0].yxkxd); $('#yshybhd').textbox('setValue', psyjs["t"][0].yshybhd); $('#dmyymd_ysyytjxshqyb').textbox('setValue', psyjs["t"][0].dmyymd_ysyytjxshqyb); $('#jskccl').textbox('setValue', psyjs["t"][0].jskccl); $('#jjkccl').textbox('setValue', psyjs["t"][0].jjkccl); $('#dzclbhyyfx').textbox('setValue', psyjs["t"][0].dzclbhyyfx); $('#kcclbhyyfx').textbox('setValue', psyjs["t"][0].kcclbhyyfx); $('#ytlx').textbox('setValue', psyjs["t"][0].dc_ytlx); $('#dc_rq01').textbox('setValue', psyjs["t"][0].dc_rq_start); $('#dc_rq01').textbox('setValue', psyjs["t"][0].dc_rq_end); $('#dc_zz').textbox('setValue', psyjs["t"][0].dc_zz); $('#dc_cy').textbox('setValue', psyjs["t"][0].dc_cy); $('#dc_xc').textbox('setValue', psyjs["t"][0].dc_xc); if ('setValue', psyjs["t"][0].pszyj != "") { $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#psz_yj").textbox("enable"); $("input[type='radio'][name='zypsyj']").get(1).checked = true; $('#psz_yj').textbox('setValue', psyjs["t"][0].pszyj); } else { $("#sbq").textbox("enable"); $("#sbcl").textbox("enable"); $("#psz_yj").textbox("disable"); $("input[type='radio'][name='zypsyj']").get(0).checked = true; $('#sbq').textbox('setValue', psyjs["t"][0].sbq); $('#sbcl').textbox('setValue', psyjs["t"][0].sbcl); } $('#zycl').textbox('setValue', psyjs["t"][0].zycl); $('#fj_kyqxkz_jb').textbox('setValue', psyjs["t"][0].kyqjb); $('#fj_hy_jb').textbox('setValue', psyjs["t"][0].hyjb); } }); } }); //主要评审意见禁用文本框 $("input[name=zypsyj]").click(function(){ var val = $(this).val(); if (val == 0) { $("#sbq").textbox("enable"); $("#sbcl").textbox("enable"); $("#psz_yj").textbox("disable"); } else { $("#sbq").textbox("disable"); $("#sbcl").textbox("disable"); $("#psz_yj").textbox("enable"); } }); function OpenAddZjzcy(e) { if (e == 0) { $('#div_addCY01').dialog('open').dialog('center').dialog('setTitle', '新增'); $('#fm1').form('clear'); } else { $('#div_addCY02').dialog('open').dialog('center').dialog('setTitle', '新增'); $('#fm2').form('clear'); } } function AddZjzcy(e) { if (e == 0) { $.ajax({ url: "SaveExpert.ashx", data: $.param({ 'load': '1' }) + '&' + $("#fm1").serialize(), type: 'post', success: function (data) { if (data != "" && data != null) { if (data != "ok") { alert(data); } else { alert("新增成功"); $('#div_addCY01').dialog('close'); GetOption(); } } else { alert("新增失败"); } } }); } else { $.ajax({ url: "SaveExpert.ashx", data: $.param({ 'load': '2' }) + '&' + $("#fm2").serialize(), type: 'post', success: function (data) { if (data != "" && data != null) { alert("新增成功"); $('#div_addCY02').dialog('close'); GetOption(); } else { alert("新增失败"); } } }); } } //隐藏显示DIV //新增储量类型 $("#cllx").combobox({ onSelect: function (record) { if (record.text != (">>>请选择<<<")) { if (record.text.indexOf("新增")) { $("#ktgz_yfhsqxb").textbox("enable"); $("#dzclbhyyfx").textbox("enable"); $("#kcclbhyyfx").textbox("enable"); } else { $("#ktgz_yfhsqxb").textbox("disable"); $("#dzclbhyyfx").textbox("disable"); $("#kcclbhyyfx").textbox("disable"); } } var str01 = "前相比,新增的工作量如下:"; var str02 = "储量变化原因分析" if (record.text == "复算") { $("#div_top_id_xzgzl").html("(6)与复算" + str01); $("#div_top_id_clbhyyfx").html("10.复算" + str02); } else if (record.text == "核算") { $("#div_top_id_xzgzl").html("(6)与核算" + str01); $("#div_top_id_clbhyyfx").html("10.核算" + str02); } else if (record.text == "复算、核算") { $("#div_top_id_xzgzl").html("(6)与复算、核算" + str01); $("#div_top_id_clbhyyfx").html("10.复算、核算" + str02); } else { $("#div_top_id_xzgzl").html("(6)新增报告没有,复核算报告才有"); $("#div_top_id_clbhyyfx").html("10.新增报告没有,复核算报告才有"); } } }) //调查 $("#ytlx").combobox({ onSelect: function (record) { //储量变化原因分析,修改值 if (record.text == "中型") { $("#dc_rq01").textbox("disable"); $("#dc_rq02").textbox("disable"); $("#dc_cy").textbox("disable"); $("#dc_zz").textbox("disable"); $("#dc_xc").textbox("disable"); } if (record.text == "大型") { $("#dc_rq01").textbox("enable"); $("#dc_rq02").textbox("enable"); $("#dc_zz").textbox("enable"); $("#dc_cy").textbox("enable"); $("#dc_xc").textbox("enable"); } } }) //生态环境保护区名称 $("#sthjbhq").combobox({ onSelect: function (record) { if (record.text == "有") {$("#div_id_sthjbhqmc").attr("style", "display:block;");} if (record.text == "无") {$("#div_id_sthjbhqmc").attr("style", "display:none;");} } }) //产量起算标准 //$("#id_clqsbz").combobox({ // onSelect: function (record) { // if (record.text == "单井油产量") { // $("#div_clqsbz_q").attr("style", "display:none;"); // $("#div_clqsbz_y").attr("style", "display:block;"); // } // if (record.text == "单井气产量") { // $("#div_clqsbz_y").attr("style", "display:none;"); // $("#div_clqsbz_q").attr("style", "display:block;"); // } // } //}) //保存word function saveDoc() { //回显数据修改后保存 if (load == "3") { document.getElementById('xzcy').value = pszjzxzcy; document.getElementById('xzzbr').value = psyjsxzzbr; //表单校验 if (!$('#fm').form('enableValidation').form('validate')) { return $(this).form('enableValidation').form('validate'); } else { $.messager.confirm('提示框', '提交后信息无法更改!您确认要提交吗?', function (ok) { if (ok) { SBC();//转换全角,序列化对象在提交时英文会报错 GetOptionsAndVoluation();//获取下拉框索引并赋值,使后台获取 //后台调取数据 $.ajax({ url: "ExportWord.ashx", data: $.param({ 'ytdm': getQueryString('ytdm'), 'nd': getQueryString('nd'), 'load': '4', 'tbr': getQueryString('tbr'), 'uuid': uuid, 'kyqNumCount': kyqNumCount, "kyqlxmc": kyqlxmc }) + '&' + $("#fm").serialize(), type: 'post', success: function (resultData) { alert(resultData); document.getElementById("btn_export_doc").href = 'CreatePsyjs.aspx?load=2&uuid=' + uuid; } }); } else { return $('#fm').form('validate'); } } ) } } else { uuid = guid(12, 16); document.getElementById('xzcy').value = pszjzxzcy; document.getElementById('xzzbr').value = psyjsxzzbr; //转换全角,序列化对象在提交时英文会报错 SBC(); //获取下拉框索引并赋值,使后台获取 GetOptionsAndVoluation(); //表单校验 if (!$('#fm').form('enableValidation').form('validate')) { return $(this).form('enableValidation').form('validate'); } else { $.messager.confirm('提示框', '提交后信息无法更改!您确认要提交吗?', function (ok) { if (ok) { //后台调取数据 $.ajax({ url: "ExportWord.ashx", data: $.param({ 'ytdm': getQueryString('ytdm'), 'tbr': getQueryString('tbr'),'uuid': uuid , 'kyqNumCount': kyqNumCount, "kyqlxmc": kyqlxmc}) + '&' + $("#fm").serialize(), type: 'post', success: function (resultData) { alert(resultData); document.getElementById("btn_export_doc").href = 'CreatePsyjs.aspx?load=2&uuid=' + uuid; } }); } else { return $('#fm').form('validate'); } } ) } } } function exportDoc() { if (uuid == null) { alert("请先保存数据!"); } } function guid(len, radix) { //len 长度 radix 基数 例:uuid(8, 16) // "098F4D35" var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split(''); var uuid = [], i; radix = radix || chars.length; if (len) { for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random()*radix]; } else { var r; uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-'; uuid[14] = '4'; for (i = 0; i < 36; i++) { if (!uuid[i]) { r = 0 | Math.random()*16; uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r]; } } } return uuid.join(''); } function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = location.search.substr(1).match(reg); if (r != null) return unescape(decodeURI(r[2])); return null; } function SBC() { ToSBC("wzjtdl"); ToSBC("dlgk"); ToSBC("ccjbtz"); ToSBC("yctz"); ToSBC("gbskczy"); ToSBC("ywktgz"); ToSBC("ytkfly"); ToSBC("plytyyxx"); ToSBC("ktgz_dz"); ToSBC("ktgz_zj"); ToSBC("ktgz_cj"); ToSBC("ktgz_cs"); ToSBC("ktgz_fxhy"); ToSBC("ktgz_yfhsqxb"); if ($("#ktgz_yfhsqxb").val() != "") { ToSBC("ktgz_yfhsqxb"); } if ($("#dzclbhyyfx").val() != "") { ToSBC("dzclbhyyfx"); } if ($("kcclbhyyfx").val() != "") { ToSBC("kcclbhyyfx"); } ToSBC("clztjd"); ToSBC("jsdyhf"); ToSBC("hymjqd"); ToSBC("yxhd"); ToSBC("yxkxd"); ToSBC("yshybhd"); ToSBC("dmyymd_ysyytjxshqyb"); ToSBC("jskccl"); ToSBC("jjkccl"); ToSBC("dc_xc"); ToSBC("dc_cy"); ToSBC("sbq"); ToSBC("sbcl"); ToSBC("psz_yj"); ToSBC("zycl"); } function ToSBC(txtstring) { var text = $("#" + txtstring + "").val(); var tmp = text; for (var i = 0; i < text.length; i++) { if (text.charAt(i) == "³") { alert("可以"); } if (!/^[\x00-\xff]*$/.test(text.charAt(i))) { if (text.charCodeAt(i) == 32) { tmp = ""; tmp = tmp + String.fromCharCode(12288); } if (text.charCodeAt(i) < 127 ) { //&& text.charCodeAt(i) != 109 tmp = ""; tmp = tmp + String.fromCharCode(text.charCodeAt(i) + 65248); } } } $("#" + txtstring + "").textbox("setValue", tmp); } function GetOptionsAndVoluation() { document.getElementById('bgmc_text01').value = $("#bgmc").val().split("油田")[0]; document.getElementById('bgmc_text02').value = $("#bgmc").val().split("油田")[1]; document.getElementById('pszjzzz_text').value = $("#pszjzzz").combobox("getText"); document.getElementById('pszjzcy_text').value = $("#pszjzcy").combobox("getText"); document.getElementById('cllx_text').value = $("#cllx").combobox("getText"); document.getElementById('yqlb_text').value = $("#id_yqlb").combobox("getText"); document.getElementById('sbdw_text').value = $("#sbdw").combobox("getText"); document.getElementById('psyjszbr_text').value = $("#psyjszbr").combobox("getText"); document.getElementById('bxdw_text').value = $("#bxdw").combobox("getText"); //document.getElementById('id_clqsbz_text').value = $("#id_clqsbz").combobox("getText");可以删除, document.getElementById('id_clqsbz_y_text').value = $("#id_clqsbz_y").combobox("getText"); document.getElementById('id_clqsbz_q_text').value = $("#id_clqsbz_q").combobox("getText"); document.getElementById('dzcljsff_text').value = $("#dzcljsff").combobox("getText"); document.getElementById('hy_text').value = $("#hy").combobox("getText"); document.getElementById('pshydz_text').value = $("#pshydz").combobox("getText"); document.getElementById('ytlx_text').value = $("#ytlx").combobox("getText"); } function GetOption() { $("#pszjzzz").empty(); $("#pszjzcy").empty(); $("#psyjszbr").empty(); //获取评审专家组成员值 下拉框展示 $.ajax({ url: "GetOption.ashx", type: "POST", dataType: "json", data: {"load":"1"}, success: function (data) { if (data != "" && data != null) { for (var i = 0; i < data.length; i++) { $("#pszjzzz").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#pszjzzz").combobox({}); $("#pszjzcy").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#pszjzcy").combobox({}); } } }, fail: function (status) { // 此处放失败后执行的代码 alert(err.statusText) } }); //获取评审意见书执笔人 下拉框展示 $.ajax({ url: "GetOption.ashx", type: "POST", dataType: "json", data: {"load":"2"}, success: function (data) { if (data != "" && data != null) { for (var i = 0; i < data.length; i++) { $("#psyjszbr").append("<option value='" + i + "'>" + data[i] + "</option>"); $("#psyjszbr").combobox({}); } } }, fail: function (status) { // 此处放失败后执行的代码 alert(err.statusText) } }); } </script> </body> </html> ```
完整的json数组arr1包含一个小的json数组arr2 点击arr1其他元素arr2的值消失
**完整的json数组包含一个小的json数组 点击完整json数组的其他元素时小json数组返回的值也没了** ** 实际上点击任何一个元素 之前的都会消失 而且心 和肝 点击后背景不会退掉** ``` var arr1 = [ { "name" : "心", "acupoint_num" : "1" }, { "name" : "肝", "acupoint_num" : "2" }, { "name" : "脑袋", "acupoint_num" : "3" }, { "name" : "屁股", "acupoint_num" : "4" } ]; var retStr = ","; $('#xueweiList').append( $(arr1).map( function() { return '<li id=' + this.acupoint_num + '><a href="#" >' + this.name + '</a></li><li>' }).get().join('')); $("#nav>ul>li").click( function() { var focus = $(this).toggleClass('h_nav_over') .hasClass('h_nav_over'); if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ','); $("#xueweis").val(retStr.replace(/^,|,$/g, '')); }); /* 2-获取疾病对应穴位 */ var arr2 = [ { "earName" : "心", "acupoint_num" : "1" }, { "earName" : "肝", "acupoint_num" : "2" } ]; var arrStr2 = ''; var xueweisStr = ""; $.each(arr2, function(index2, item) { // 获取后台传来的json是数组 arrStr2 += "<input type='button' id='" + arr2[index2].acupoint_num + "' value='" + arr2[index2].earName + "' name='earName'/>"; $.each(arr1, function(index, item) { if(arr2[index2].acupoint_num==arr1[index].acupoint_num){ $("#"+arr1[index].acupoint_num).css({"background-color":"#98bf21"}); $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值 } }); xueweisStr += arr2[index2].acupoint_num + ","; }); $("#xueweis").val(xueweisStr);//直接用js返回对应的穴位值给inupt赋值 var td2 = document.getElementById("xueweiTd2"); var div2 = document.getElementById("xuewei2"); div2.innerHTML = arrStr2; td2.appendChild(div2); }); ``` 这个是没有点击脑袋之前 小的json数组包含 1 和2 两个id 对应 心和肝 ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469094478_441858.png) 这个是点击脑袋之后 1 和2 都没有了 ![图片说明](https://img-ask.csdn.net/upload/201607/21/1469094529_702469.png)
怎么把前台页面的table里面的值封装成list 传入到后台 table的值是js动态赋值的
项目采用框架spring springmvc mybatis 数据库 mybatis js部分 ``` var arrVZ=eval(json[index].listVX);//arrVZ是一个数组 var str=""; for (var i = 0; i< arrVZ.length; i++) { alert(arrVZ[i].xiangmu_name); alert("项目id:"+arrVZ[i].id); str +="<tr>"; str +="<td colspan=\"5\">"; str +="<div style=\"margin-left: 148px;\" id=\"visceraXiangmus\">"; str +="<div style=\"float: left;\">"; str +="<input type=\"hidden\" name=\"id2\" id=\"id2\" value=\""+arrVZ[i].id+"\"/>"; str +="<textarea style=\"width: 50px;\" id=\"xiangmu_code\" name=\"xiangmu_code\" >"+arrVZ[i].xiangmu_code+"</textarea>"; str +="<textarea style=\"width: 100px;margin-left: 13px;\" id=\"value\" name=\"value\">"+arrVZ[i].value+"</textarea>"; str +="<textarea style=\"width: 120px;margin-left: 14px;\" id=\"xiangmu_name\" name=\"xiangmu_name\">"+arrVZ[i].xiangmu_name+"</textarea>"; str +="<textarea style=\"width: 360px; margin-left: 14px;\" id=\"content\" name=\"content\">"+arrVZ[i].content+"</textarea>"; str +="</div>"; str +="<div >"; str +=" <input type=\"button\" onclick=\"delRow(this)\" value=\"删除\" id=\"deleteXiangmu\" name=\"deleteXiangmu\" style=\"float: left; margin-left: 10px; margin-top: 5px;\">"; str +="</div>"; str +="</div>"; str +="</td>"; str +="</tr>"; $("#tbody").html(str); } ``` jsp页面部分 ``` <!-- 脏腑项目开始 --> <!-- 脏腑项目开始 --> <div id="middle"> <!-- <button style="float: right; margin-right: 95px;">添加</button> --> <input type="button" onclick="addRow()" value="添加项目"id="saveXiangmu" name="saveXiangmu" style="float: right; margin-right: 95px;"> <table border="0" cellpadding="2" cellspacing="1" style="width: 100%" id="rowTable"> <thead> <th></th> <tr> <td colspan="5" style="line-height: 40px;"> <label style="margin-left:148px">项目编号</label> <label style="margin-left:20px">项目分值</label> <label style="margin-left:68px">项目名称</label> <label style="margin-left:88px">项目说明</label> </td> </tr> </thead> <!-- tbody里面是动态添加的内容 --> <tbody id="tbody"> </tbody> </table> </div> <hr style="width: 80%;margin-top: 30px;margin-bottom:30px"> <!-- 脏腑项目结束 --> ``` 控制器部分 ``` List<VisceraXiangmu> listVX=jingluoDetectionService.findVisceraXiangmuByZangfuId(zangfu_id1); if(listVX.size()!=0){ for (int i = 0; i < listVX.size(); i++) { System.out.println(listVX.get(i).getXiangmu_name()); String id2 = request.getParameter("id2") == null ? "" : request.getParameter("id2");// 脏腑项目表id的值 String xiangmu_code = request.getParameter("xiangmu_code") == null ? "" : request.getParameter("xiangmu_code"); String xiangmu_name = request.getParameter("xiangmu_name") == null ? "" : request.getParameter("xiangmu_name"); String main = request.getParameter("main") == null ? "" : request.getParameter("main"); String gender = request.getParameter("gender") == null ? "" : request.getParameter("gender"); String content = request.getParameter("content") == null ? "" : request.getParameter("content"); String value = request.getParameter("value") == null ? "" : request.getParameter("value"); int main1=Integer.parseInt(main+"1"); int id3=Integer.parseInt(id2); jingluoDetectionService.updateVisceraXiangmu(id3, zangfu_id1, xiangmu_code, xiangmu_name, main1, gender, content, value); } ``` 页面展示 ![图片说明](https://img-ask.csdn.net/upload/201609/28/1475055451_252650.jpg) 怎么实现保存以后 循环批量修改页面显示的值 后台的控制类 改怎么取接收动态的table的参数值来就行update
struts1 怎么在action中获取页面post的参数
前台传的参数超过4k,method=post 在action中怎样接这个参数 String datas = (String) request.getParameter("datas");时总是4k的,其余部分被截掉了 [b]问题补充:[/b] 页面是5个表拼的所以,一行多个input,目前想到的只是走传参数, 把几十个对象封成json。用vs2008的跟了一下页面,是post [b]问题补充:[/b] [img]http://dl.iteye.com/upload/attachment/191616/6db4e8f7-d501-35f6-89b8-f00580508f8a.jpg[/img] [b]问题补充:[/b] 用js提交的 with (document.getElementsByName("OriginalView")) { // OriginalView.method = "POST"; OriginalView.action = "/OriginalViewAction.do?methods=updateOrigDates&year=<%=year%>&month=<%=month%>&datas="+JSON.stringify(myMap); OriginalView.submit(); } [b]问题补充:[/b] psot应该可以的,js貌似不能给<input type=hidden >的value赋值吧
select2 多选下拉框的选项 重复 当选中的值为多选项 str拼接做了两次for循环
如何用jquery 实行对 select选中赋值 且不重复拼接 option ![图片说明](https://img-ask.csdn.net/upload/201808/06/1533563305_984956.png) 用了第二个方法 但是 不会回显 ![图片说明](https://img-ask.csdn.net/upload/201808/06/1533564365_779881.png) js代码 ``` var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var arrESA = eval(json.listEarScanAcupoint);// arrESA是一个科研穴位信息 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { str += "<tr>"; str += "<td colspan=\"8\">"; str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">"; str += "<div style=\"float: left;\">"; str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >" + arrESC[i].id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 * 所有展示项目为主表客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect.options[j].value); str += "<option value=\"" + myselect.options[j].value + "\" " + (myselect.options[j].value == arrESC[i].gender ? "selected='selected'" : "") + ">" + myselect.options[j].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >" + arrESC[i].min_age + "</textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >" + arrESC[i].max_age + "</textarea>"; /* select2标签开始 */ str += "<textarea style=\"width:300px;margin-left:10px;display:none;\" id=\"strXueweiId\" name=\"strXueweiId\" >" + arrESC[i].xuewei_id + "</textarea>"; str += "<select name=\"xuewei_id\" class=\"form-control input-sm downList2\" multiple>"; alert("arrESA.length值:" + arrESA.length); // 将arrESC[i].xuewei_id分割成一个数组 var arrXueweId = arrESC[i].xuewei_id.split(","); alert("arrXueweId:" + arrXueweId) for (var j = 0; j < arrESA.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 for (var k = 0; k < arrXueweId.length; k++) { str += "<option value=\"" + arrESA[j].id + "\" " + (arrESA[j].id == arrXueweId[k] ? "selected='selected'" : "") + ">" + arrESA[j].text + "</option>"; } } "</select>"; ``` 执行select2部分 ``` function select2Execute() { $(function() { /* 1-本地注入方式 */ $(".downList2").select2({ // $("select[name='xuewei_id']").select2({ // $('select[id="xuewei_id"]').select2({ // $('#xuewei_id').select2({ placeholder : "请至少选择一个人名", tags : true, createTag : function(decorated, params) { return null; }, width : '256px', }); function formatState(state) { if (!state.id) { return state.text; } var $state = $('<span>' + state.text + '</span>'); return $state; } ; $('#sel_recommender').select2({ placeholder : "请选择一个人名", templateResult : formatState, width : '256px' }); // 通过id获取select2的text值,这里的text值可能有空格,需注意 function getSelect2Text(obj) { var select2Obj = $("select[name='xuewei_id']").select2(); return select2Obj.find("option:selected").text(); } /* 获取每一个name对应的值 */ var strXueweiId = ""; $("[name=xuewei_id]").each(function() { alert("this值:" + $(this).val()); /* 拼接每一项name的值 组合成和其它项目类似 gender那样的数组 */ strXueweiId += $(this).val() + "-"; }); alert("strXueweiId:" + strXueweiId) $("#strXueweiId").val(strXueweiId) }); } ```
ajax 为什么里面最后返回的值都是最开始赋值的true
; (function ($) { $(document).ready(function () { $("form").submit(function () { var flag = true; //验证账号密码 //获取用户信息框 var $account = $("input[name=account]"); var $password = $("input[name=password]"); var userData = { account: $account[0].value, password: $password[0].value }; //清空验证信息 if (userData.account == "") { flag = false; swal({ title: "提示", text: "请输入账号" }); } if (userData.password == "") { flag = false; swal({ title: "提示", text: "密码不能为空" }); } if (userData.password != "" && userData.account != "") { $.ajax({ type: "POST", url: "/api/User/Login", data: { "account": userData.account, "psd": userData.password }, dataType: "json", error: function (data) { flag = false; alert("登录错误,请于管理员联系"); }, success: function (data) { if (data.code == 4) { flag = false; alert(data.errorMsg); } if (data.code == 2) { flag = false; alert(data.errorMsg); } } }); } aler(flag); //这里不管ajax里面怎么判断,这里都是true return flag; }); }); })(jQuery);
php+mvc模式的登陆口验证码可以点击刷新,不会自动刷新,求大神解决
1:描述问题:网站首页登陆口不管如何刷新[F5],验证码都不会变。但是点击验证码的话可以变为新的验证码!而且我们使用验证码登陆成功后同时退出来,此时登陆口的验证码还是之前使用过的验证码,没有更新!请大神帮我解决下,贴出正确的代码!因为本人不是很懂,只会照葫芦画瓢!万分感谢!无解决方案的请别回复了谢谢! 文件名:PassportController 代码如下,这个应该是控制器 /* 生成验证码 */ public function verify() { $config = [ 'fontSize' => 19, // 验证码字体大小 'length' => 4, // 验证码位数 'imageH' => 34 ]; $Verify = new Verify($config); $Verify->entry(); } /* 验证码校验 */ public function check_verify($code, $id = '') { $verify = new \Think\Verify(); $res = $verify->check($code, $id); $this->ajaxReturn($res, 'json'); } public function accessRules() { return array( array('allow', // 允许所有用户访问 'login' 动作. 'users'=>array('*'), ), array('allow', // 允许认证用户访问所有动作 'users'=>array('@'), ), array('deny', // 拒绝所有的用户。 'users'=>array('*'), ), ); } /* 异地登录检测 */ public function actionPlaceOtherLogin() { if(isset($_POST['username']) && $_POST['username']!="" && isset($_POST['pwd']) && $_POST['pwd']) { $siteLogin=new SiteLoginForm; $siteLogin->username=$_POST['username']; $siteLogin->password=$_POST['pwd']; $siteLogin->verifyCode=$_POST['verifyCode']; $siteLogin->rememberMe=false; if($siteLogin->validate())//用户名密码正确 { $userinfo=User::model()->findByAttributes(array( 'Username'=>$_POST['username'], 'PassWord'=>md5($_POST['pwd']) )); if($userinfo->Status==0)//用户帐号没有被冻结,处于正常状态 { if($userinfo->PlaceOtherLogin==0)//用户没有开启异地登录,则允许用户直接提交登录 { echo "true"; }else//开启异地登录 { //1.检查此次登录的ip与最近一次登录的ip是否相同 $lastLoginLog=Loginlog::model()->find(array( 'condition'=>'userid='.$userinfo->id, 'order'=>'id desc' )); if($lastLoginLog->loginip===XUtils::getClientIP())//如果本次登录ip与最近一次登录ip相同则允许用户直接提交 { echo "true"; }else//如果不同则返回通知使用短信验证 { echo $userinfo->Phon;//需要手机接手短信验证码,返回手机号码,以便发送短信进行验证 } } }else//帐号被冻结 { echo "LOCK"; } }else { echo "FAIL"; } } } // 登陆口的文件名:index 代码如下 // <link rel="stylesheet" type="text/css" href="<?php echo VERSION2;?>2_files/index.css"> <div class="banNer"><!--首页幻灯--> <ul class="rslides" id="slider"> <li style="background: url(<?php echo VERSION2;?>img/banner/banner_tg.jpg) no-repeat center top;"> <li style="background: url(<?php echo VERSION2;?>img/banner/003.jpg) no-repeat center top;"> </li> </ul> <!--登录区域--> <div class="login_frame_bg" <?php if(Yii::app()->user->getId())echo 'style="display:none;"';?>> <div class="login_frame"> <span class="warningSpan"<?php if(isset($_GET['loginStatus']) && $_GET['loginStatus']=='fail') echo 'style="display:block;"';?>>用户名或密码错误</span> <div id="myForm"> <table> <form method="post" onsubmit="return checkLogin()" action="<?php echo $this->createUrl('passport/login');?>"> <tbody> <tr> <td> <div class="login_mailbox"> <input type="hidden" name="User[position]" value="index" /> <input id="lusername" type="text" name="User[Username]" autocomplete="off" placeholder="用户名"> </div> </td> </tr> <tr> <td> <p class="zq" id="miaoname" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <div class="login_ps"> <input id="lpassword" type="password" name="User[PassWord]" name="LoginForm[password]" placeholder="请输入密码"> </div> </td> </tr> <tr> <td> <table> <tr> <td> <input type="text" name="User[VerifyCode]" class="" placeholder="请输入右边验证码" style=" width: 170px; margin-right: 5px; border-radius: 5px; line-height: 35px; border: 1px solid #fff; padding-left: 5px;" id="verifyCode" /> </td> <td> <?php $this->widget( 'CCaptcha', array('showRefreshButton'=>false, 'clickableImage'=>true, 'imageOptions'=>array( 'alt'=>'点击换图', 'title'=>'点击换图', 'style'=>'cursor:pointer; background:#fff; height:27px; border-radius:5px;' ) ) ); ?> </td> </tr> </table> </td> </tr> <tr> <td> <p class="zq" style="height: 10px;"></p> </td> </tr> <tr> <td> <p id="miaopwd" class="zq" style="margin:-15px 0px 10px;"></p> </td> </tr> <tr> <td> <li style=" color:#fff; font-size:12px;"><input name="User[rememberMe]" type="checkbox" style="position: relative; top: 3px; width:12px;" /> 下次自动登录<a href="javascript:;" class="forgetPwd" style=" float:right; margin-right:28px; color:white;">忘记密码?</a></li><br /> </td> </tr> <tr> <td> <button class="login-btn" id="login_btn">登录</button> </td> </tr> <tr> <td> <span><a href="<?php echo $this->createUrl('passport/regist');?>" id="a">还没有账号?点击注册>></a></span> </td> </tr> </tbody> <form> </table> </div> </div> </div> <div class="indIntr" style="background="achose.png" ><!--系统优势--> <div class="why_main4 clearfix"> </div> </div> <script> //登录表单检测 function checkLogin() { if($("#lusername").val()=="") { layer.tips('用户名不能为空', '#lusername'); return false; }else if($("#lpassword").val()=="") { layer.tips('密码不能为空', '#lpassword'); return false; }else if($("#verifyCode").val()=="") { layer.tips('验证码不能为空', '#verifyCode'); return false; }else { var submitStatus=0;//提交状态初始化verifyCode var phone=0;//手机号码初始化 //检查是否开启异地登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/placeOtherLogin');?>", data:{ "username":$("#lusername").val(), "pwd":$("#lpassword").val(), "verifyCode":$("#verifyCode").val(), }, async:false, success:function(msg) { if(msg=="true")//不用检测 { submitStatus=1; }else if(msg=="FAIL")//用户名或密码不正确 { } else if(msg=="LOCK")//用户帐户被冻结 { submitStatus=3; }else//需要发送手机验证码 { phone=msg;//赋值用户手机号 submitStatus=2; } } }); /*alert(submitStatus); exit;*/ //检查是否开启异地登录 if(submitStatus==0)//用户名密码不正确 { layer.tips('用户名,密码或验证码不正确', '#lusername', { tips: [1, '#0FA6D8'] //还可配置颜色 }); return false; }else if(submitStatus==3) { //询问框 layer.confirm('<span style="color:red;">您的帐户已被冻结,如有需要请联系客服人员</span>', { btn: ['知道了'] //按钮 }); return false; }else if(submitStatus==1)//直接提交 { return true; }else//2表示需要发送短信验证码 { //发送验证码 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('site/sms');?>", data:{"phone":phone,"phoneCode":"DONE"}, async:false, success:function(msgCode) { if(msgCode=="SUCCESS") { //询问框 layer.confirm('<span style="color:red;">短信发送成功(异地登录请输入手机验证码)</span><br/>验证码<input class="text1 phoneCodeVal" name="phoneCodeVal" />', { btn: ['确定提交'] //按钮 },function(){ if($(".phoneCodeVal").val()=="")//验证码不为空 { layer.tips('验证码不能为空', '.phoneCodeVal'); }else{ //发送手机号与验证码去验证正确性 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/userCheckPhoneAndCode');?>", data:{"phone":phone,"phoneCode":$(".phoneCodeVal").val()}, async:false, success:function(msgCertain) { if(msgCertain=="SUCCESS")//手机验证码检测通过 { //验证通过直接进行提交登录 $.ajax({ type:"POST", url:"<?php echo $this->createUrl('passport/codePassLogin');?>", data:{"username":$("#lusername").val(),"pwd":$("#lpassword").val()}, async:false, success:function(msglogin) { if(msglogin=="SUCCESS")//登录成功刷新当前页面 { location.reload(); //询问框 }else//登录异常刷新当前页面 { layer.confirm('<span style="color:red;">登录异常</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); } } }); //验证通过直接进行提交登录 }else if(msgCertain=="CODEFAIL")//验证不正确 { layer.tips('验证码不正确', '.phoneCodeVal'); }else//手机号异常 { layer.tips('手机号码异常', '.phoneCodeVal'); } } }); //发送手机号与验证码去验证正确性 } }); }else { //询问框 layer.confirm('<span style="color:red;">异地登录验证-短信发送失败,可能发送次数过多</span>,您可以联系客服人员', { btn: ['知道了'] //按钮 }); phoneAndCodeCheckStatus=0; } } }); //发送短信验证码结束 return false; } } } //忘记密码 $(".forgetPwd").click(function(){ layer.open({ type: 2, title:'找回密码', area: ['375px','270px'], skin: 'layui-layer-rim', //加上边框 content: ['<?php echo $this->createUrl('passport/forgetPwd');?>', 'no'] }); }); </script> // 能帮我解决问题的才回复,或者还需要我提供什么的请留言,谢谢了,
求问,如何做一个二级联动的下拉表单(select),每点击一下按钮,表单增加一行。
求问,如何做一个二级联动的下拉表单(select),每点击一下按钮,表单增加一行。我现在的问题是,表单增加后,二级联动就没有效果了。 这是html和表单元素代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/tab.js"></script> <script type="text/javascript" src="js/select2.js"></script> <link href="css/select2.css" rel="stylesheet"/> </style> </head> <body> <br> <table class="table" > <thead> <tr> <th>厚度</th> <th>光度</th> <th>外观</th> </tr> </thead> <tbody> <tr id="a"> <td> <div class="demo"> <div id="city_5"> <select class="prov"></select> <select class="city" disabled="disabled"></select> <select class="dist" disabled="disabled"></select> </div> </div> </td> <td><input type="" name=""></td> <td><input type="" name=""></td> </tr> </tbody> </table> <button onclick="fun()">增加一行</button> <button onclick="del()">删除一行</button> <script type="text/javascript" src="jquery.cityselect.js"></script> <script type="text/javascript"> $(function() { $("#city_5").citySelect({ url: {"citylist": [ {"p": "前端课程", "c": [{"n": "HTML5"}, {"n": "CSS3", "a": [{"s": "HTML"}, {"s": "AJAX"}]}, {"n": "JSON"}]}, {"p": "编程语言", "c": [{"n": "C"}, {"n": "C++"}, {"n": "Python"}, {"n": "PHP"}, {"n": "JAVA"}]}, {"p": "数据库", "c": [{"n": "Mysql"}, {"n": "SqlServer"}, {"n": "Oracle"}, {"n": "Mssql"}]}, ]}, prov: "", city: "", dist: "", nodata: "none" }); }); </script> </body> </html> 这是增加一行的代码 var i = 1; $(".td").each(function(){ $(this).html(i++); }) function fun(){ var $td = $("#a").clone(); //增加一行,克隆第一个对象 $(".table").append($td); var i = 1; $(".td").each(function(){ //增加一行后重新更新序号1,2,3...... $(this).html(i++); }) $("table tr:last").find(":input").val(''); //将尾行元素克隆来的保存的值清空 } function del(){ $("table tr:not(:first):not(:first):last").remove(); //移除最后一行,并且保留前两行 } 这是二级联动代码 /* Ajax 三级省市联动 http://code.ciaoca.cn/ 日期:2012-7-18 settings 参数说明 ----- url:省市数据josn文件路径 prov:默认省份 city:默认城市 dist:默认地区(县) nodata:无数据状态 required:必选项 ------------------------------ */ (function($) { $.fn.citySelect = function(settings) { if (this.length < 1) { return; } ; // 默认值 settings = $.extend({ url: "city.min.js", prov: null, city: null, dist: null, nodata: null, required: true }, settings); var box_obj = this; var prov_obj = box_obj.find(".prov"); var city_obj = box_obj.find(".city"); var dist_obj = box_obj.find(".dist"); var prov_val = settings.prov; var city_val = settings.city; var dist_val = settings.dist; var select_prehtml = (settings.required) ? "" : "<option value=''>请选择</option>"; var city_json; // 赋值市级函数 var cityStart = function() { var prov_id = prov_obj.get(0).selectedIndex; if (!settings.required) { prov_id--; } ; city_obj.empty().attr("disabled", true); dist_obj.empty().attr("disabled", true); if (prov_id < 0 || typeof (city_json.citylist[prov_id].c) == "undefined") { if (settings.nodata == "none") { city_obj.css("display", "none"); dist_obj.css("display", "none"); } else if (settings.nodata == "hidden") { city_obj.css("visibility", "hidden"); dist_obj.css("visibility", "hidden"); } ; return; } ; // 遍历赋值市级下拉列表 temp_html = select_prehtml; $.each(city_json.citylist[prov_id].c, function(i, city) { temp_html += "<option value='" + city.n + "'>" + city.n + "</option>"; }); city_obj.html(temp_html).attr("disabled", false).css({"display": "", "visibility": ""}); distStart(); }; // 赋值地区(县)函数 var distStart = function() { var prov_id = prov_obj.get(0).selectedIndex; var city_id = city_obj.get(0).selectedIndex; if (!settings.required) { prov_id--; city_id--; } ; dist_obj.empty().attr("disabled", true); if (prov_id < 0 || city_id < 0 || typeof (city_json.citylist[prov_id].c[city_id].a) == "undefined") { if (settings.nodata == "none") { dist_obj.css("display", "none"); } else if (settings.nodata == "hidden") { dist_obj.css("visibility", "hidden"); } ; return; } ; // 遍历赋值市级下拉列表 temp_html = select_prehtml; $.each(city_json.citylist[prov_id].c[city_id].a, function(i, dist) { temp_html += "<option value='" + dist.s + "'>" + dist.s + "</option>"; }); dist_obj.html(temp_html).attr("disabled", false).css({"display": "", "visibility": ""}); }; var init = function() { // 遍历赋值省份下拉列表 temp_html = select_prehtml; $.each(city_json.citylist, function(i, prov) { temp_html += "<option value='" + prov.p + "'>" + prov.p + "</option>"; }); prov_obj.html(temp_html); // 若有传入省份与市级的值,则选中。(setTimeout为兼容IE6而设置) setTimeout(function() { if (settings.prov != null) { prov_obj.val(settings.prov); cityStart(); setTimeout(function() { if (settings.city != null) { city_obj.val(settings.city); distStart(); setTimeout(function() { if (settings.dist != null) { dist_obj.val(settings.dist); } ; }, 1); } ; }, 1); } ; }, 1); // 选择省份时发生事件 prov_obj.bind("change", function() { cityStart(); }); // 选择市级时发生事件 city_obj.bind("change", function() { distStart(); }); }; // 设置省市json数据 if (typeof (settings.url) == "string") { $.getJSON(settings.url, function(json) { city_json = json; init(); }); } else { city_json = settings.url; init(); } ; }; })(jQuery);
js中 replace 和正则表达式该怎么使用 点击以后 id为1 的 一直取消不掉
点击以后 id为1 的 一直取消不掉 js代码 ``` function updateEd100(id) { $.ajax({ type : "POST", url : "/miaolangzhong/manage/forAjax.do?requestType=6", data : "id=" + id, // 发送到服务器的数据 success : function(msg) { alert(msg); var json = eval('(' + msg + ')'); document.getElementById("addEd100").style.display = "block"; /* 获取后台传来的json是数组 循环获取数据 */ $.each(json, function(index, item) { document.getElementById("id1").value = json[index].id; document.getElementById("name1").value = json[index].name; document.getElementById("desc1").value = json[index].desc; /*1- 获取所有穴位 包括下面的事件是一个整体 */ /*var arr1 = eval(json[index].xuewei);*/ var arr1 = [ { "name" : "心", "acupoint_num" : "1" }, { "name" : "肝", "acupoint_num" : "2" }, { "name" : "脑袋", "acupoint_num" : "3" }, { "name" : "屁股", "acupoint_num" : "4" } ]; //var retStr = ","; $('#xueweiList').append( $(arr1).map( function() { return '<li id=' + this.acupoint_num + '><a href="#" >' + this.name + '</a></li><li>' }).get().join('')); $("#nav>ul>li").click( function() { var focus = $(this).toggleClass('h_nav_over') .hasClass('h_nav_over'); if (focus) retStr += this.id + ','; else retStr = retStr.replace(',' + this.id + ',', ','); $("#xueweis").val(retStr.replace(/^,|,$/g, '')); }); /* 2-获取疾病对应穴位 */ /*var arr2 = eval(json[index].ear_acupoint);*/ var arr2 = [ { "earName" : "心", "acupoint_num" : "1" }, { "earName" : "肝", "acupoint_num" : "2" } ]; var arrStr2 = ''; var retStr = ""; $.each(arr2, function(index2, item) { // 获取后台传来的json是数组 arrStr2 += "<input type='button' id='" + arr2[index2].acupoint_num + "' value='" + arr2[index2].earName + "' name='earName'/>"; $.each(arr1, function(index, item) { if(arr2[index2].acupoint_num==arr1[index].acupoint_num){ //$("#"+arr1[index].acupoint_num).css({"background-color":"#98bf21"}); $("#"+arr1[index].acupoint_num).addClass('h_nav_over'); } }); retStr += arr2[index2].acupoint_num + ","; }); $("#xueweis").val(retStr);//直接用js返回对应的穴位值给inupt赋值 var td2 = document.getElementById("xueweiTd2"); var div2 = document.getElementById("xuewei2"); div2.innerHTML = arrStr2; td2.appendChild(div2); }); } }); } ``` 效果图 那个1的id 一直取消不掉 ![图片说明](https://img-ask.csdn.net/upload/201607/22/1469155430_306311.jpg)
name属性相同的两个个select2标签值合并到一个数组里了 如何获取每一个name对应标签的值
前端页面图片 ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533139054_790764.png) 后台代码图片 ![图片说明](https://img-ask.csdn.net/upload/201808/01/1533138301_780928.png) js代码 ``` // 显示修改关键字症状界面 function updateView(id, system_id) { $("#btntype").val(1); $("#Submit1").click(function() { add(1); }); $ .ajax({ type : "POST", url : "/erzhentang/manage/forAjax.do?requestType=12.1", data : "id=" + id + "&system_id=" + system_id, // 发送到服务器的数据默认id是结论id success : function(msg) { $("#xuewei_id").val("1,2,3").select2(); /* alert(msg); */ var json = eval('(' + msg + ')'); document.getElementById("addModel").style.display = "block"; document.getElementById("id1").value = json.earScanJielun.id; document.getElementById("system_id1").value = json.earScanJielun.system_id; /* 遍历所属系统下所有 耳穴频扫疾病项 */ var arrESJ = eval(json.listEarScanJibing);// arrESJ是一个数组 var checkESJ = document.getElementById("jibing_num1"); var str2 = ""; for (var j = 0; j < arrESJ.length; j++) { str2 += "<option value=\"" + arrESJ[j].jibing_num + "\">" + arrESJ[j].name + "</option>"; var checkESJ2 = arrESJ[j].name; if (arrESJ[j].jibing_num == json.earScanJielun.jibing_num) {// 疾病编号人为控制每个编号都是唯一 arrESJ[j].name = "selected='selected'"; } $("#jibing_num1").html(str2); } document.getElementById("jibing_num1").value = json.earScanJielun.jibing_num; document.getElementById("jielun_rank1").value = json.earScanJielun.jielun_rank; document.getElementById("jielun1").value = json.earScanJielun.jielun; /* 下半截部分组合表动态展示修改和添加 */ var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { str += "<tr>"; str += "<td colspan=\"8\">"; str += "<div style=\"margin-left: 148px;\" id=\"earScanCp\">"; str += "<div style=\"float: left;\">"; str += "<textarea style=\"width: 50px;margin-left: -86px;position: absolute;\" id=\"cp_id\" name=\"cp_id\" >" + arrESC[i].id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 * 所有展示项目为主表客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect.options[j].value); str += "<option value=\"" + myselect.options[j].value + "\" " + (myselect.options[j].value == arrESC[i].gender ? "selected='selected'" : "") + ">" + myselect.options[j].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" >" + arrESC[i].min_age + "</textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" >" + arrESC[i].max_age + "</textarea>"; // str += "<textarea style=\"width: // 300px;margin-left:10px;\" id=\"xuewei_id\" // name=\"xuewei_id\" >" // + arrESC[i].xuewei_id + "</textarea>"; // str +="<div id=\"selectSection\">"; /* * id=\"xuewei_id\" */ str += "<textarea style=\"width:300px;margin-left:10px;display:none;\" id=\"xuewei_id1\" name=\"xuewei_id1\" >" + arrESC[i].xuewei_id + "</textarea>"; // str += "<div id=\"selectSection\" name=\"selectSection\">"; str += "<select style=\"width: 300px;margin-left:10px;\" name=\"xuewei_id\"class=\"combox\" multiple >" str += "<optgroup label=\"小辈儿组\">"; str += "<option value=\"1\" " + "selected='selected'" + ">心</option>"; str += "<option value=\"2\" " + "selected='selected'" + ">" + "肺" + "</option>"; str += "<option value=\"3\" " + "selected='selected'" + ">" + "小肠" + "</option>"; str += "<option value=\"4\">" + "口" + "</option>"; str += "<option value=\"5\">" + "食道" + "</option>"; str += "</optgroup>"; // str += "</div>"; /* 进一步转换频扫组合表穴位id字符串转array数组 */ /* * var strXueweiId = arrESC[i].xuewei_id; var * arrayXueweiId = strXueweiId.split(","); * * for (var j = 0; j < arrayXueweiId.length; j++) { str2 += "<option * value=\"" + arrayXueweiId[j].value + "\">" + * arrayXueweiId[j].value + "</option>"; var checkESJ2 = * arrayXueweiId[j].name; if (arrayXueweiId[j] == 5) { * arrayXueweiId[j] = "selected='selected'"; } * $("#jibing_num1").html(str2); } */ "</select>"; // // $("#xuewei_id").val("1,2,3").select2(); str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >" + arrESC[i].chuzhen_id + "</textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 10px;\" id=\"bp\" name=\"bp\" >" var myselect1 = document.getElementById("bp");// 这个获取的是静态jsp页面里标签 for (var k = 0; k < myselect1.options.length; k++) {// 下拉框是主家从静态页面获取并且遍历它 // alert("j值:" + myselect1.options[k].value); str += "<option value=\"" + myselect1.options[k].value + "\" " + (myselect1.options[k].value == arrESC[i].bp ? "selected='selected'" : "") + ">" + myselect1.options[k].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"jielun_conform\" name=\"jielun_conform\">" + arrESC[i].jielun_conform + "</textarea>"; str += "</div>"; str += "<div >"; str += " <input type=\"button\" onclick=\"delRow(this," + arrESC[i].id + "," + arrESC[i].bianzhengId + ")\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">"; str += "</div>"; str += "</div>"; str += "</td>"; str += "</tr>"; /* 替换静态页面 */ $("#tbody1").html(str); select2Execute(); } } }); } ``` 执行select2方法 ``` /* 执行select2方法 */ function select2Execute() { $(function() { $("select[name='xuewei_id']").select2({ // $('select[id="xuewei_id"]').select2({ // $('#xuewei_id').select2({ // $("#selectSection").find("select.combox").select2({ // $(".select2-selection__choice").select2(); // $(".combox").select2({ placeholder : "请至少选择一个人名", tags : true, createTag : function(decorated, params) { return null; }, width : '256px' }); function formatState(state) { if (!state.id) { return state.text; } var $state = $('<span>' + state.text + '</span>'); return $state; } ; $('#sel_recommender').select2({ placeholder : "请选择一个人名", templateResult : formatState, width : '256px' }); alert($("select[name='xuewei_id']").select2('data')[0].text); // $("#selectSection").find("select.xuewei_id").val(); // document.getElementById("selectSection").value=$("select[name='xuewei_id']").select2('data'); $("#xuewei_id1").val( $("select[name='xuewei_id']").select2('data'));//赋值给textarea隐藏的标签 alert($("#xuewei_id1").val()); }); } ```
使用layui的富文本编辑器 上传图片后不能显示图片 只能显示图片名
![图片说明](https://img-ask.csdn.net/upload/201903/23/1553320913_930043.png)![图片说明](https://img-ask.csdn.net/upload/201903/23/1553320929_255574.png) <div class="layui-form-item layui-form-text"> <label class="layui-form-label">历史</label> <div class="layui-input-block"> <textarea id="history" name="article_desc" lay-verify="article_desc" placeholder="" class="layui-textarea">请输入历史</textarea> </div> <input type="hidden" id="introCont"> </div> ``` <!--编辑器--> <script> layui.use(['layedit','form'], function(){ var layedit = layui.layedit,$ = layui.jquery,form = layui.form; //构建一个默认的编辑器 layedit.set({ uploadImage: { url: '/File/uploadImg', type: 'post' } }); var index = layedit.build('history',{tool: [ 'strong' //加粗 ,'italic' //斜体 ,'underline' //下划线 ,'del' //删除线 ,'|' //分割线 ,'left' //左对齐 ,'center' //居中对齐 ,'right' //右对齐 ,'link' //超链接 ,'unlink' //清除链接 ,'face' //表情 ,'image' //插入图片 // ,'help' //帮助 ]}); //自定义验证规则 form.verify({ history: function(value){ if(value.length < 0){ return '历史不能为空'; } } ,article_desc: function(value){ layedit.sync(index); } }); //编辑器外部操作 var active = { content: function(){ //alert(layedit.getContent(index)); //获取编辑器内容 var str = layedit.getContent(index); //赋值到隐藏的标签 $("#introduce").val(""+ str +""); //console.log("视频简介内容:"+ $("#introCont").val()) } }; $('.layui-textarea').on('click', function(){ var type = $(this).data('type'); active[type] ? active[type].call(this) : ''; }); }); </script> ``` package com.yunce.web.controller; import com.yunce.web.Setting; import com.yunce.web.utils.FileUpload; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.Map; /** * Created by Administrator on 2019/3/22. */ @Controller @RequestMapping(value = "/File") public class FileController { public static Logger LOG = LoggerFactory.getLogger(FileController.class); @Autowired private Setting setting; @RequestMapping(value = "/uploadImg", method = RequestMethod.POST) @ResponseBody public Map<String, Object> uploadImg(@RequestParam (value = "file")MultipartFile[] files, HttpServletRequest request) { String url = setting.local_url; String saveFilePath = setting.image_dir; Map<String, Object> map = new HashMap<>(); Map<String, Object> data = new HashMap<>(); for (int i = 0, length = files.length; i < length; i++) { if (files[i] != null && !files[i].isEmpty()) { LOG.info("图片大小:" + files[i].getSize() / 1024 + "KB"); //获取图片的文件名 String fileName = files[i].getOriginalFilename(); //获取图片的扩展名 String extensionName = fileName.substring(fileName.lastIndexOf(".") + 1); //新的图片文件名 = 年月日+随机数 +"."图片扩展名 String dateStr = new SimpleDateFormat("yyyyMMdd").format(new Date()); Integer num = (int) ((Math.random() * 9 + 1) * 100000); String newFileName = String.valueOf(dateStr + num) + "." + extensionName; FileUpload.saveFile(newFileName, files[i], saveFilePath); url = url + "/" + newFileName; data.put("src", url); data.put("title", newFileName); map.put("code", 0); map.put("msg", "上传成功"); map.put("data", data); } } return map; } } /* String tempPath="f:/upload"; Map<String,Object> map=new HashMap<>(); Map<String,Object> data=new HashMap<>(); String oldName=file.getOriginalFilename(); System.out.println("图片名字:oldName is:"+oldName); String tempName = System.currentTimeMillis() + ""; System.out.println("tempName is:" +tempName); //以文件名命名的文件夹 String tempFileDir = tempPath + "/" + tempName; File parentFileDir = new File(tempFileDir); //若不存在 就新建 if (!parentFileDir.exists()) { parentFileDir.mkdirs(); } //新文件名 获取当前名+文件后缀 String newName = tempName + oldName.substring(oldName.lastIndexOf(".")); //数据库img的src String src="/upload/"+tempName+"/"+newName; System.out.println("图片名字:newName is:"+newName); try { //存放文件 (文件名,文件) file.transferTo(new File(tempFileDir,newName)); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }*/ ``` ```
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看...
阿里P8数据架构师:顶级开发者都在用什么数据库?
其实从去年已经隐隐约约感觉到数据库的有变化,只是没有想到变得这么快。今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。 最近看一篇国外的开源产品提供厂商的一篇文字,主要是在询问了他的几百位客户后得出了下图中的2019年数据库的使用趋势。 从图中可以看出,MySQL以38.9...
面试官:关于Java性能优化,你有什么技巧
通过使用一些辅助性工具来找到程序中的瓶颈,然后就可以对瓶颈部分的代码进行优化。 一般有两种方案:即优化代码或更改设计方法。我们一般会选择后者,因为不去调用以下代码要比调用一些优化的代码更能提高程序的性能。而一个设计良好的程序能够精简代码,从而提高性能。 下面将提供一些在JAVA程序的设计和编码中,为了能够提高JAVA程序的性能,而经常采用的一些方法和技巧。 1.对象的生成和大小的调整。 J...
互联网公司分布式系统架构演进之路
介绍 分布式和集群的概念经常被搞混,现在一句话让你明白两者的区别。 分布式:一个业务拆分成多个子业务,部署在不同的服务器上 集群:同一个业务,部署在多个服务器上 例如:电商系统可以拆分成商品,订单,用户等子系统。这就是分布式,而为了应对并发,同时部署好几个用户系统,这就是集群 1 单应用架构 2 应用服务器和数据库服务器分离 单机负载越来越来,所以要将应用服务器和数据库服务器分离 3 应用服务...
【图解算法面试】记一次面试:说说游戏中的敏感词过滤是如何实现的?
版权声明:本文为苦逼的码农原创。未经同意禁止任何形式转载,特别是那些复制粘贴到别的平台的,否则,必定追究。欢迎大家多多转发,谢谢。 小秋今天去面试了,面试官问了一个与敏感词过滤算法相关的问题,然而小秋对敏感词过滤算法一点也没听说过。于是,有了下下事情的发生… 面试官开怼 面试官:玩过王者荣耀吧?了解过敏感词过滤吗?,例如在游戏里,如果我们发送“你在干嘛?麻痹演员啊你?”,由于“麻痹”是一个敏感词,...
程序员需要了解的硬核知识之汇编语言(一)
之前的系列文章从 CPU 和内存方面简单介绍了一下汇编语言,但是还没有系统的了解一下汇编语言,汇编语言作为第二代计算机语言,会用一些容易理解和记忆的字母,单词来代替一个特定的指令,作为高级编程语言的基础,有必要系统的了解一下汇编语言,那么本篇文章希望大家跟我一起来了解一下汇编语言。 汇编语言和本地代码 我们在之前的文章中探讨过,计算机 CPU 只能运行本地代码(机器语言)程序,用 C 语言等高级语...
OpenCV-Python 绘图功能 | 七
目标 学习使用OpenCV绘制不同的几何形状 您将学习以下功能:cv.line(),cv.circle(),cv.rectangle(),cv.ellipse(),cv.putText()等。 代码 在上述所有功能中,您将看到一些常见的参数,如下所示: img:您要绘制形状的图像 color:形状的颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递...
GitHub 标星 1.6w+,我发现了一个宝藏项目,作为编程新手有福了!
大家好,我是 Rocky0429,一个最近老在 GitHub 上闲逛的蒟蒻… 特别惭愧的是,虽然我很早就知道 GitHub,但是学会逛 GitHub 的时间特别晚。当时一方面是因为菜,看着这种全是英文的东西难受,不知道该怎么去玩,另一方面是一直在搞 ACM,没有做一些工程类的项目,所以想当然的以为和 GitHub 也没什么关系(当然这种想法是错误的)。 后来自己花了一个星期看完了 Pyt...
Java知识体系最强总结(2020版)
更新于2019-12-15 10:38:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 文章目录...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我...
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
我问了身边10个大佬,总结了他们的学习方法,原来成功都是有迹可循的。
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了????,这可都是提升你幸福感的高效率生产力工具哦! 走起!???? NO、1 ScreenToGif 屏幕,摄像头和白板...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每...
史上最全的IDEA快捷键总结
现在Idea成了主流开发工具,这篇博客对其使用的快捷键做了总结,希望对大家的开发工作有所帮助。
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Fiddler+夜神模拟器进行APP抓包
Fiddler+夜神模拟器进行APP抓包 作者:霞落满天 需求:对公司APP进行抓包获取详细的接口信息,这是现在开发必备的。 工具:Fiddler抓包,夜神模拟器 模拟手机 安装APP 1.下载Fiddler https://www.telerik.com/download/fiddler Fiddler正是在这里帮助您记录计算机和Internet之间传递的所有HTTP和HTTPS通信...
小白学 Python 爬虫(42):春节去哪里玩(系列终篇)
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Linux基础入门 小白学 Python 爬虫(4):前置准备(三)Docker基础入门 小白学 Python 爬虫(5):前置准备(四)数据库基础 小白学 Python 爬虫(6):前置准备(...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
[数据结构与算法] 排序算法之归并排序与基数排序
归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之)。 基本思想 可以看到这种结构很像一棵完全二叉树,本文的归并排序我们采用递归去实现(也可采用迭代的方式去实现)。分阶段可以...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
史上最牛逼的 Eclipse 快捷键,提高开发效率!
如果你在使用IDEA,请参考博主另外的一篇idea快捷键的博客。
相关热词 c# singleton c#中类的默认值是 c#各种进制之间的转换 c# 正则表达式保留汉字 c#后台跨域 c#基础代码大全 c#指定combox选择 c#关系 mono c# 相差毫秒 用c#做一个简易计算器
立即提问