如何通过document对象来获取select标签下option元素的element对象?

需求:自动生成目标元素的Xpath字符串
目前思路:对document对象添加事件监听,当对页面元素进行操作时,获取activeElement,然后生成Xpath
问题:目前input的text,Button,radio和checkbox测试都没问题,但是当操作select标签下的option时,activeElement返回的还是select的element对象
有什么办法能获取到option的element对象吗

3个回答

    var act = document.activeElement;
    if (act.tagName=="SELECT" && act.selectedIndex>=0) {
        act = act.options[act.selectedIndex];
    }
    alert(act.tagName);

可通过遍历表单的 elements[] 数组来访问某个 Select 对象

用jquer啊,$(document).find("select option").each(function(i, optElem){

//optElem为opt对象

});
如果非得用纯js那么可以使用getElementsByTagName方法,返回一个元素数组,如document.getElementsByTagName("select"),再调用返回元素的
selecElement。getElementsByTagName(“option”)获取option元素

document的常用方法:
getElementById 获取对 ID 标签属性为指定值的第一个对象的引用。
getElementsByName 根据 NAME 标签属性的值获取对象的集合。
getElementsByTagName 获取基于指定元素名称的对象集合。

zhaomin_g
_zming 回复zhaomin_g: 对于不同类型的元素不要总是使用activeElement获取,可以动过点击事件的currentTarget等等对象,你再研究下,js写的不多
接近 2 年之前 回复
zhaomin_g
_zming 回复qqqq72858: 不知道你具体代码怎么写的,是否可以对option绑定事件,通过activeElement和event的targetElement配合使用,选择合适的目标元素,或者对select绑定事件的时候,获取select下选中的option来作为目标元素,用jquer都是比较好写的
接近 2 年之前 回复
qqqq72858
qqqq72858 您理解错了,这里的自动生成目标元素的Xpath,是指用户在页面进行操作的时候自动去获取他操作了那个元素来分析,也就是说我在进行处理的时候,并不知道用户操作的是select和option,在捕捉到触发事件的元素之后,取获取元素的tagName才能知道是操作哪个元素,所以这里操作select和option捕捉到的都是select的element对象,无法分析
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
IE下点击select中的option,获取的源目标是select,怎么获取到option?

点击option,通过srcElement获取事件源目标在IE中是select,Firefox/Safari/Chrome/Opera则是option。 列入下面这个代码如下: <select id="s2" multiple="multiple"> <option value="1" >1</option> </select> <script> document.getElementById('s2').onclick = function(e){ var evt = window.event || e; var target = evt.srcElement || evt.target; alert(target.tagName); }

javaScript中获取获取标签的问题

目的是对下拉选框中的所有<option>标签进行操作,定义下拉选框的代码为 ``` <select id="left" multiple="true" style="width:100px" size="10"> <option>環</option> <option>芈</option> <option>琅</option> <option>琊</option> <option>爨</option> <option>甄</option> <option>槑</option> <option>夔</option> </select> ``` ``` 该文件中所有的<option>标签都在上面的<select>标签中, 对<option>进行抓取并操作的代码是 document.getElementById("toRight2").onclick=function() { arr = document.getElementById("left").options; for(i=0;i<arr.length;i++) { if(arr[i].selected) { document.getElementById("right").appendChild(arr[i]); i--; //注意:将元素添加至右边后,左边的option元素个数就减少1,所移动元素之后的标签索引减1, //为了仍然能够遍历所有的元素,应手动将当前索引值减一。 } } } ``` ```但是如果将上面获取标签的语句换成 arr = document.getElementsByTagName("option"); 运行时触发事件,则浏览器会无响应进入卡死状态,请问这是什么原因啊?这两种获取方式有什么不同吗?通过打印这两种方式获取的数组,我发现方式一得到的数组类型是[object HTMLOption Collection ]而方式二得到的数组类型是[object HTML Collection] 求大神指点 ```

document.querySelectorAll()获取select2标签name属性的选中项值

获取不到 每个name对应的选项值 ``` for(var i= 0; i< document.querySelectorAll('*[name="xuewei_id"]').length; i ++){ alert("i值:"+i); alert("数组长度:"+document.querySelectorAll('*[name="xuewei_id"]').length); // alert(document.querySelectorAll('*[name="xuewei_id"]').innerHTML); var options=$("select[name='xuewei_id'] option:selected"); alert(options.text()); } ```

如何通过onchange来修改另一个select的option

我通过网上找到了的方法试了一遍,代码是这样的 ``` <script type="text/javascript"> function changeDay(){ var year=parseInt(document.getElementById(bdyear).value); var month=parseInt(document.getElementById(bdmonth).value); document.getElementById(bdday).length=0; int d; for(d=1;d<=31;d++){ document.getElementById(bdday).options.add(new Option(d, d)); if(((month==4)||(month==6)||(month==9)||(month==11))&&(d==30)){ break; }else if((year%4!=0)&&(month==2)&&(d==28)){ break; }else if((year%4==0)&&(month==2)&&(d==29)){ break; } } } </script> ``` 以及 ``` <table width = "100%" border = "0" cellspacing = "0"> <tr> <td> <select id="bdyear" name="bdyear" onchange = "changeDay()" style="width:100%; height:100%;"> <%int y; for(y=1960;y<=2020;y++){ %> <option value ="<%=y%>"><%=y%></option> <%} %> </select> </td> <td>年</td> <td> <select id="bdmonth" name="bdmonth" onchange = "changeDay()" style="width:100%; height:100%;"> <%int m; for(m=1;m<=12;m++){ %> <option value ="<%=m%>"><%=m%></option> <%} %> </select> </td> <td>月</td> <td> <select id="bdday" name = "bdday" style="width:100%; height:100%;"></select> </td> <td>日</td> </tr> </table> ``` 就是个根据年月来判断日能选什么,但是写完出来无论怎么选日都选项,小白求指点

如何让鼠标移到select中option上时产生事件?

<p>&lt;select size=3 &gt;</p> <p>           &lt;option id="1"&gt;1&lt;/option&gt;</p> <p>           &lt;option id="2"&gt;2&lt;/option&gt;</p> <p>           &lt;option id="3"&gt;3&lt;/option&gt;</p> <p>           &lt;option id="4"&gt;4&lt;/option&gt;</p> <p>           &lt;option id="5"&gt;5&lt;/option&gt;</p> <p>            &lt;option id="6"&gt;6&lt;/option&gt;</p> <p>&lt;/select&gt;</p> <p>当我鼠标移上select中的一个option时能不能获取当前option的值呢?那个onchange我知道,我想用onmouseove事件是不是可以做到?</p> <p>如果不行,有哪个大大能告诉我怎么重写个select啊,从而能达到上述效果呢?</p> <p>我想了很长时间都没想出来,希望有哪个大大解决下,那个希望在html上做。</p>

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()); }); } ```

如何获取OPTION的TEXT值

<div class="post-text" itemprop="text"> <p>In this case, only primary dropdown will change, other dropdowns' values will change automatically according to it (so users wont be changing them) I'm trying to get the <strong>Option's TEXT value</strong> using PHP with $_POST. But i can only get it when i <strong>manually</strong> changed the other dropdown . I have tried to use the trigger() method, but it fails to get the option text value. Any idea why the code fails to work. Thank you.</p> <p></p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code"> <pre class="snippet-code-js lang-js prettyprint-override"><code>function setDropDown() { var index_name = document.getElementsByName('ForceSelection')[0].selectedIndex; var others = document.querySelectorAll('.secondary'); for (var i = 0; i &lt; others.length; i++) { others[i].selectedIndex = index_name; } } &lt;!-- try to get the option text value and pass it to input field--&gt; &lt;!-- Then in the php code use $_POST[] to retrieve the input value--&gt; function setTextField(ddl) { document.getElementById('make_text').value = ddl.options[ddl.selectedIndex].text; } $("select").trigger("change");</code></pre> <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt; &lt;form action="" method="post"&gt; &lt;div&gt;&lt;b&gt;Primary dropdown:&lt;/b&gt; &lt;select name="ForceSelection" id="ForceSelection" onChange="javascript:return setDropDown();"&gt; &lt;option value="" selected&gt;Select&lt;/option&gt; &lt;option value="treatmentid1"&gt;treatmentname1&lt;/option&gt; &lt;option value="treatmentid2"&gt;treatmentname2&lt;/option&gt; &lt;/select&gt; &lt;/div&gt; &lt;div&gt; &lt;b&gt;Other dropdown 1&lt;/b&gt;: &lt;select class='secondary' id="Qualifications" name="Qualifications" onChange="setTextField(this)"&gt; &lt;option value="select"&gt;select&lt;/option&gt; &lt;option value="treatmentid1"&gt;treatmentname1&lt;/option&gt; &lt;option value="treatmentid2"&gt;treatmentname2&lt;/option&gt; &lt;/select&gt;&lt;/div&gt; &lt;input id="make_text" type="hidden" name="make_text" value="" /&gt; &lt;div&gt; &lt;b&gt;Other dropdown 2&lt;/b&gt;: &lt;select class='secondary' id="Qualifications2" name="Qualifications2"&gt; &lt;option value="select"&gt;select&lt;/option&gt; &lt;option value="treatmentid1"&gt;treatmentname1&lt;/option&gt; &lt;option value="treatmentid2"&gt;treatmentname2&lt;/option&gt; &lt;/select&gt; &lt;/form&gt;</code></pre> </div> </div> <p>PHP Code</p> <pre><code> $value =$_POST['make_text']; </code></pre> </div>

关于ajax读取后台数据写入select标签问题

目前最棘手的问题是:ajax读取后台省市数据后写入到前台select标签中形成相应的option <br /><span style="color: red">我可以获取任意option的文本值却不能获取option的value值!</span> <br />很是不解! <br />获取select中option-value值的代码肯定没问题! <br />下面是我的代码 <br /><pre name="code" class="java"> &lt;body onload="pro()"&gt; 省市: &lt;select name="province" &lt;option value="1"&gt; 北京市 &lt;/option&gt; &lt;/select&gt;&lt;br&gt; 城市/区县: &lt;select name="city"&gt; &lt;option value="1"&gt; 朝阳区 &lt;/option&gt; &lt;/select&gt; &lt;/body&gt; var req=null; function pro(){ req=new ActiveXObject("Microsoft.XMLHTTP"); req.onreadystatechange = call1; req.open("get","ajax","false"); req.send(null); } function call1(){ var province=document.all("province"); if(req.readystate==4){ var dis=req.responseText; for(var i=province.options.length;i&gt;=0;i--){ province.options.remove(i) } var arr=dis.split(","); for(var i=0;i&lt;arr.length;i++){ var newoption = document.createElement("OPTION"); province.options.add(newoption); newoption.innerText=arr[i]; newoption.Value=i+1; } } } </pre>

select中option的selected属性的动态指定!!

我现在有个select标签,下面有option选项,现在选择后要固定住,等于说提交数据后还是选中的选项。因为涉及到后面的一个分页展示,所以这个值要固定住。 ``` function mySel(obj){ //alert(obj.selectedIndex); //obj.selected="selected"; //obj.setAttribute("selected",true); var index=obj.selectedIndex; var ops=document.getElementById("mySelect"); for(var i=0;i<ops.options.length;i++){ if(ops.options[i].selectedIndex==index){ //ops.options[i].selected="selected"; ops.options[i].setAttribute("selected","true"); break; } } } ``` 这是我的代码,用了两种方法,但是每次提交后又变了!!等于这个selected属性没有设置到option上,知道的告诉我为什么?????????????????????????

动态添加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()); }); } ```

Select2 onchange选择选项,然后根据选项追加或删除网址

<div class="post-text" itemprop="text"> <p>Currently I have a <code>select</code> dropdown filter setup via php like this:</p> <pre><code>&lt;?php if($this-&gt;config-&gt;get("config_show_tmall_only")){?&gt; &lt;?php if(isset($code) &amp;&amp; $code=="tmall"){?&gt; &lt;select id="tmallFilter"&gt; &lt;option value="&amp;code=tmall"&gt;Tmall only&lt;/option&gt; &lt;option value=""&gt;Taobao &amp;amp; Tmall&lt;/option&gt; &lt;/select&gt; &lt;?php }else{?&gt; &lt;select id="tmallFilter"&gt; &lt;option value=""&gt;Taobao &amp;amp; Tmall&lt;/option&gt; &lt;option value="&amp;code=tmall"&gt;Tmall only&lt;/option&gt; &lt;/select&gt; &lt;?php }?&gt; &lt;?php }?&gt; </code></pre> <p>It detects if <code>&amp;code=tmall</code> is in the url and runs the first block</p> <p>I am appending <code>&amp;code=tmall</code> through this script that runs exactly how I need</p> <pre><code>$('#tmallFilter').bind('change', function () { var brwsr_url=document.URL; var redirecturl= brwsr_url + $(this).val(); location.href = redirecturl; }); </code></pre> <p>The problem I am running into is when i need to go back to <code>Taobao &amp; Tmall</code> I can only add to the url, not strip characters based on that select.</p> <p>Is there any way I can strip <code>&amp;code=tmall</code> from the url when I select the <code>Taobao &amp;amp; Tmall</code> option?</p> </div>

select2 用属性选择器 动态添加 只有新添加的标签有渲染 原有标签的渲染没了

![图片说明](https://img-ask.csdn.net/upload/201808/01/1533091747_378076.png) js代码 update界面显示部分 ``` // 显示修改关键字症状界面 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\">"; str += "<select style=\"width: 300px;margin-left:10px;\" id=\"xuewei_id\" name=\"xuewei_id\"class=\"combox\" multiple >" str += "<optgroup label=\"小辈儿组\">"; str += "<option value=\"1\">心</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>" $("#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(); } } }); } ``` js代码add添加行 ``` // 添加行 频扫组合表信息 function addRow1() { var str = ""; 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\" ></textarea>"; str += "<select style=\"width: 60px;height: 36px;margin-left: 20px;\" id=\"gender\" name=\"gender\" >" var myselect = document.getElementById("gender");// 这个获取的是静态jsp页面里标签 for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 str += "<option value=\"" + myselect.options[j].value + "\">" + myselect.options[j].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"min_age\" name=\"min_age\" ></textarea>"; str += "<textarea style=\"width: 50px;margin-left: 10px;\" id=\"max_age\" name=\"max_age\" ></textarea>"; // str += "<textarea style=\"width: 300px;margin-left: 10px;\" // id=\"xuewei_id\" name=\"xuewei_id\" ></textarea>"; str +="<div id=\"selectSection\">"; str += "<select style=\"width: 300px;margin-left:10px;\" id=\"xuewei_id\" name=\"xuewei_id\" class=\"combox\" multiple >" str += "<optgroup label=\"小辈儿组\">"; str += "<option value=\"1\">心</option>"; str += "<option value=\"2\">" + "肺" + "</option>"; str += "<option value=\"3\">" + "小肠" + "</option>"; str += "<option value=\"4\">" + "口" + "</option>"; str += "<option value=\"5\">" + "食道" + "</option>"; str += "</optgroup>"; "</select>"; str += "</div>"; str += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"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); // alert("text值:" + myselect1.options[k].text); str += "<option value=\"" + myselect1.options[k].value + "\">" + myselect1.options[k].text + "</option>"; } "</select>"; str += "<textarea style=\"width: 50px; height: 36px;margin-left: 10px;\" id=\"jielun_conform\" name=\"jielun_conform\"></textarea>"; str += "</div>"; str += "<div >"; str += " <input type=\"button\" onclick=\"delRow(this)\" value=\"删除\" id=\"deleteESC\" name=\"deleteESC\" style=\"float: left; margin-left:10px; margin-top: 5px;\">"; str += "</div>"; str += "</div>"; str += "</td>"; str += "</tr>"; $("#rowTable1").append(str); // $("select[name='xuewei_id']").select2({ // $("#xuewei_id").select2().trigger(); // $("#xuewei_id").trigger('change') select2Execute(); } ``` 执行select2部分 ``` /* 执行select2方法 */ function select2Execute() { $(function() { // $("select[name='xuewei_id']").select2({ // $('select[id="xuewei_id"]').select2({ // $('#xuewei_id').select2({ // $("#selectSection").find("select.combox").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' }); }); } ```

通过另一个select-option值过滤select-options

<div class="post-text" itemprop="text"> <p>My target is to filter <code>&lt;select name="team"&gt;</code> by using a JS function from <code>&lt;select name="unit"&gt;</code>. Team is a many-to-one relationship with Unit so filtering it would be much more safer option. I've list down the tables and my test codes below:</p> <p><br></p> <p>Team-Unit pivot table</p> <p><code>-------------------</code></p> <p><code>Team --------- Unit</code></p> <p><code>A ------------- 1</code></p> <p><code>B ------------- 1</code></p> <p><code>C ------------- 1</code></p> <p><code>D ------------- 2</code></p> <p><code>E ------------- 2</code></p> <p><code>F ------------- 3</code></p> <p><code>-------------------</code></p> <p><br></p> <pre><code>&lt;select name="unit" class="form-control" id="unit" onchange="refreshTeam()" required /&gt; &lt;option value="" selected disabled&gt;SELECT UNIT&lt;/option&gt; @foreach ($units as $unit) &lt;option value="{{$unit-&gt;id}}"&gt;{{ $unit-&gt;title }}&lt;/option&gt; @endforeach &lt;/select&gt; &lt;select name="team" class="form-control" id="team" required /&gt; &lt;option value="" selected disabled&gt;SELECT TEAM&lt;/option&gt; @foreach ($teams as $team) &lt;option value="{{$team-&gt;id}}"&gt;{{ $team-&gt;title }}&lt;/option&gt; @endforeach &lt;/select&gt; </code></pre> <p><br> Here's my try on refreshTeam(), but I'm pretty sure this is wrong or needs improvement</p> <pre><code>function refreshTeam() { var team = document.getElementById("team"); var unit = document.getElementById("unit"); &lt;?php $unit = 'document.getElementById("unit").value'; $team_unit = \DB::table('teams') -&gt;leftJoin('team_unit', 'teams.id', '=', 'team_unit.team_id') -&gt;leftJoin('units', 'units.id', '=', 'team_unit.unit_id') -&gt;select('teams.*') -&gt;where($unit, '=', 'team_unit.unit_id') -&gt;get(); dd($team_unit); ?&gt; } </code></pre> </div>

JS无法取到select选中的值

JS代码 ``` var timeinterval = $('#timeinterval option:selected').val(); alert(timeinterval); var myselect = document.getElementById("timeinterval"); var index = myselect.selectedIndex; alert(myselect.options[index].value); ``` HTML代码 ``` <th><label>时间间隔:</label></th> <td> <select class="easyui-combobox" data-options="valueField:'id',textField:'text',panelHeight:'auto'" name="timeinterval" id="timeinterval"> <option value="0">天</option> <option value="1">时</option> <option value="2">分</option> </select> </td> ``` 一开始是没问题的,但是不知道怎么回事突然就取不到选中的值了,JS部分用了两种方法取都不行,无论选什么每次都只输出"0",请问这是什么情况?应该如何解决?

select级联操作new Option问题

``` <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Untitled Document</title> <script language="javascript"> //声明三组二维数组变量,分别存放各省的城市名称 var hebei = new Array(); hebei[0]=new Array('0','石家庄'); hebei[1]=new Array('1','秦皇岛'); hebei[2]=new Array('2','沧州'); var henan = new Array(); henan[0]=new Array('0','郑州'); henan[1]=new Array('1','洛阳'); henan[2]=new Array('2','开封'); var shandong = new Array(); shandong[0]=new Array('0','济南'); shandong[1]=new Array('1','青岛'); shandong[2]=new Array('2','威海'); shandong[3]=new Array('3','烟台'); //这个方法用来选择各省的名称,当选择后调用选城市的方法 function linked(){ //根据document节点取得某一个省的值然后用switch来选择调用showCity方法取得城市名称 var provinces = document.linkedlist.province.value; switch(provinces){ case '0':showCity(hebei); break; case '1':showCity(henan); break; case '2':showCity(shandong); break; } } //这个方法用来选择城市,根据传进来的省的名称,选择省数组所有的城市 function showCity(cityArray){ for(i=0;i<cityArray.length;i++){ document.linkedlist.city.options[i]=new Option(cityArray[i][1],cityArray[i][0]); } } </script> </head> <body> <center> <form name="linkedlist" action=""> <select name="province" onchange="javascript:linked()"> <option value="0" selected>河北</option> <option value="1">河南</option> <option value="2">山东</option> </select> 省 <br> <select name="city"> <option value="0" selected>石家庄</option> <option value="1">秦皇岛</option> <option value="2">沧州</option> </select> 市 <br> </form> </center> </body> </html> ```

js 用str+=拼接select标签 选中状态 替换jsp静态页面下拉菜单 无法展示选中状态

js部分代码 ``` /* 下半截部分组合表动态展示修改和添加 */ var arrESC = eval(json.listEarScanCp);// arrESC是一个数组频扫结论组合表 var str = ""; var str1 = ""; for (var i = 0; i < arrESC.length; i++) { // str += "<input type=\"hidden\" name=\"id2\" // id=\"id2\" value=\"" // + arrESC[i].id + "\"/>"; // str += "<input type=\"hidden\" name=\"id3\" // id=\"id3\" value=\"" // + arrESC[i].bianzhengId + "\"/>"; 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 index = myselect.selectedIndex; alert("myselect坐标0的值:" + myselect.options[0].value); /* * 下拉框主要是应展示项和所有下拉选项的值判断是否对应 分清主和客 所有展示项目为主表 * 客表的某一项值和遍历主表的值对应 这里面 下拉框所有选项值是主表 */ var str1 = ""; for (var j = 0; j < myselect.options.length; j++) {// 下拉框是主家从静态页面获取并且遍历它 alert("j值:" + myselect.options[j].value); // alert("arrESC[i].gender值:" + arrESC[i].gender); // alert("myselect.options[j].text值:" // + myselect.options[j].text); str += "<option value=\"" + myselect.options[j].value + "\">" + myselect.options[j].text + "</option>"; if (myselect.options[j].value == arrESC[i].gender) { // myselect.options[j].selected = true; // break; // arrESC[i].gender = "selected='selected'"; myselect.options[j].selected = 'selected'; } } // $("#gender").html(str1) // $("#gender").html(str); "</select>"; arrESC[i].gender = "selected='selected'"; 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 += "<textarea style=\"width: 220px;margin-left: 10px;\" id=\"chuzhen_id\" name=\"chuzhen_id\" >" + arrESC[i].chuzhen_id + "</textarea>"; str += "<textarea style=\"width: 60px; height: 36px;margin-left: 10px;margin-top: 0px;\" id=\"bp\" name=\"bp\">" + arrESC[i].bp + "</textarea>"; 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); } ``` jsp页面代码 ``` <div id="bottom"> <input type="button" onclick="addRow1()" value="添加项目" id="saveXiangmu" name="saveXiangmu" style="float: right; margin-right: 95px;"> <table border="0" cellpadding="2" cellspacing="1" style="width: 100%" id="rowTable1"> <thead> <th></th> <tr> <td colspan="8" style="line-height: 40px;"><label style="position: absolute;float: left; margin-left: 75px;">组合表ID</label> <label style="float: left; margin-left: 175px;">性别</label> <label style="float: left; margin-left: 35px;">最小年龄</label> <label style="float: left; margin-left: 20px;">最大年龄</label> <label style="float: left; margin-left: 170px;">阳性穴位</label> <label style="float: left; margin-left: 210px;">视触诊</label> <label style="float: left; margin-left: 116px;">血压</label> <label style="float: left; margin-left: 35px;">符合度</label></td> </tr> </thead> <!-- tbody里面是动态添加的内容 --> <tbody id="tbody1"> <tr> <td colspan="8"> <div style="margin-left: 148px;" id="earScanCp"> <div style="float: left;"> <textarea style="width: 50px; margin-left: -80px; position: absolute;"></textarea> <select style="width: 50px; height: 36px; margin-left: 4%;" id="gender"> <!-- position: absolute;--> <option value=0>男</option> <option value=1>女</option> <option value=2>通用</option> </select> <textarea style="width: 50px; margin-left: 2%;"></textarea> <textarea style="width: 50px; margin-left: 2%; /* margin-top: -2.5%; */"></textarea> <textarea style="width: 350px; margin-left: 2%; /* margin-top: -2.5%; */"></textarea> <textarea style="width: 250px; margin-left: 2%;/* margin-top: -2.5%; */"></textarea> <select style="width: 60px; height: 36px;margin-left: 102%;margin-top: -6%;"> <option value=0>正常</option> <option value=1>高血压</option> <option value=2>低血压</option> </select> <textarea style="width: 50px; margin-left: 112%;margin-top: -6%;">50</textarea> <!-- <input type="hidden" name="id2" id="id2" /> --> </div> </div> </td> </tr> </tbody> </table> </div> ``` 下拉框应该显示 通用选项 只有在调试过程中显示了通用 但是最终结果还是三个选项都显示了 ![图片说明](https://img-ask.csdn.net/upload/201807/18/1531885847_167042.png) ![调试过程可以显示选中状态](https://img-ask.csdn.net/upload/201807/18/1531885867_277218.png) 拼接的内容替换 jsp页面固定标签内容 选中状态消失了 ![选中状态消失](https://img-ask.csdn.net/upload/201807/18/1531885911_845477.png)

请问怎么json数据在select下拉列表中显示

我的script代码如下, <script type="text/javascript"> function getleve(){ var levelObj = document.getElementById("leve"); var pfObj = document.getElementById("PF"); var levelValue = levelObj.value; pfObj.innerHTML=''; $.get('petTypeServlet?action=pf',{id:levelValue},function(data){ }); } </script> 然后这是两个下拉列表 <select name="leve" id="leve" onchange="getleve();"> <option value="2">2</option> <option value="3">3</option> </select> <td align="left"><select name="PF" id="PF" > </select> 后台返回数据格式如下: [{"PtID":1,"PtName":"陆上宠物","PtLevel":1,"PtFid":0},{"PtID":9,"PtName":"海洋宠物","PtLevel":1,"PtFid":0},{"PtID":10,"PtName":"空中宠物","PtLevel":1,"PtFid":0}] 请问怎么把下拉列表值设为PtID,显示为PtName,谢谢大家

select 后面appendChild 不行

<p>1,我在js里面创建了一个div <br>2,再向div里面中写入内容。 <br>3,然后把这个div加到了select的后面 <br>(放在body后面可以) <br>这样子为什么不行啊 。。。。。。。。求高手。</p> <p> </p> <p> </p> <p> </p> <p>  &lt;SCRIPT LANGUAGE="JavaScript"&gt;</p> <p>window.onload=function(){</p> <p>           var a =document.createElement("div");<br>   a.id="div1";<br>   var newText = document.createTextNode('这是新建立 div 中的文字。');    <br>   a.appendChild(newText);<br>            var idSel=document.getElementById("idSel");</p> <p><br><span style="color: #ff9900;">         document.body.appendChild(a);</span></p> <p> </p> <p><span style="color: #ff9900;">       // idSel.appendChild(a);  /这样子就显示不了。请高手<br></span>}</p> <p>&lt;/SCRIPT&gt;<br> &lt;/HEAD&gt;<br>&lt;body&gt;<br>  &lt;select id="idSel"  &gt;<br> &lt;option value="1"&gt;test&lt;/option&gt;<br> &lt;option value="2"&gt;chianaese&lt;/option&gt;<br> &lt;option value="3"&gt;japanes&lt;/option&gt;<br>  &lt;/select&gt;<br>&lt;/body&gt;</p>

如何从html脚本代码中获取php中的select-option值?

<div class="post-text" itemprop="text"> <p>First, I made script-html including 2 select-option menus as like below.</p> <pre><code> &lt;script&gt; .... var selectedLang1 = document.getElementById('lang1').value; var selectedSubject = document.getElementById('subject').value; xmlhttp.open("GET","livesearchgroup_"+selectedLang1+"_"+selectedSubject +".php?q="+str,true); xmlhttp.send(); } &lt;/script&gt; &lt;select name="lang1" id="lang1"&gt; &lt;option value="co"&gt;한국어&lt;/option&gt; &lt;option value="en"&gt;English&lt;/option&gt; &lt;option value="af"&gt;Afrikaans&lt;/option&gt; &lt;option value="ar"&gt;Arabic&lt;/option&gt; &lt;option value="az"&gt;Azerbaijani&lt;/option&gt; &lt;option value="be"&gt;Byelorussian (Belarusian)&lt;/option&gt; &lt;option value="bg"&gt;Bulgarian&lt;/option&gt; &lt;option value="bh"&gt;Bihari&lt;/option&gt; &lt;/select&gt; &lt;select name="subject" id="subject" size="2" style="width:45%;" &gt; &lt;option value="a"&gt;Infection : bacteria and virus &lt;/option&gt; &lt;option value="b"&gt;Infection : virus, fungus and etc&lt;/option&gt; &lt;option value="c"&gt;Malignant neoplasm&lt;/option&gt; &lt;option value="d"&gt;Benign neoplasm and blood &lt;/option&gt; &lt;option value="e"&gt;Endocrine, nutrition and metabolism &lt;/option&gt; &lt;option value="f"&gt;Mental and behavioral disorders&lt;/option&gt; &lt;option value="g"&gt;Nervous system&lt;/option&gt; &lt;option value="h"&gt;Eye and ear&lt;/option&gt; &lt;option value="i"&gt;Circulatory system&lt;/option&gt; &lt;/select&gt; &lt;form&gt; &lt;input type="text" size="30" onkeyup="showResult(this.value)"&gt; &lt;/form&gt; &lt;div id="livesearchgroup"&gt;&lt;/div&gt; </code></pre> <p>And my php code is below.</p> <pre><code> &lt;?php $lang1=$_POST['lang1']; $subject=$_POST['subject']; $xmlDoc=new DOMDocument(); $xmlDoc-&gt;load("ds_".$subject."_".$lang1.".xml"); </code></pre> <p>But select-option values don't come to php code. How can I receive those values in php??</p> </div>

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

点沙成金:英特尔芯片制造全过程揭密

“亚马逊丛林里的蝴蝶扇动几下翅膀就可能引起两周后美国德州的一次飓风……” 这句人人皆知的话最初用来描述非线性系统中微小参数的变化所引起的系统极大变化。 而在更长的时间尺度内,我们所生活的这个世界就是这样一个异常复杂的非线性系统…… 水泥、穹顶、透视——关于时间与技艺的蝴蝶效应 公元前3000年,古埃及人将尼罗河中挖出的泥浆与纳特龙盐湖中的矿物盐混合,再掺入煅烧石灰石制成的石灰,由此得来了人...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

外包程序员的幸福生活

今天给你们讲述一个外包程序员的幸福生活。男主是Z哥,不是在外包公司上班的那种,是一名自由职业者,接外包项目自己干。接下来讲的都是真人真事。 先给大家介绍一下男主,Z哥,老程序员,是我十多年前的老同事,技术大牛,当过CTO,也创过业。因为我俩都爱好喝酒、踢球,再加上住的距离不算远,所以一直也断断续续的联系着,我对Z哥的状况也有大概了解。 Z哥几年前创业失败,后来他开始干起了外包,利用自己的技术能...

C++11:一些微小的变化(新的数据类型、template表达式内的空格、nullptr、std::nullptr_t)

本文介绍一些C++的两个新特性,它们虽然微小,但对你的编程十分重要 一、Template表达式内的空格 C++11标准之前建议在“在两个template表达式的闭符之间放一个空格”的要求已经过时了 例如: vector&lt;list&lt;int&gt; &gt;; //C++11之前 vector&lt;list&lt;int&gt;&gt;; //C++11 二、nullptr ...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

深入剖析Springboot启动原理的底层源码,再也不怕面试官问了!

大家现在应该都对Springboot很熟悉,但是你对他的启动原理了解吗?

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

【阿里P6面经】二本,curd两年,疯狂复习,拿下阿里offer

二本的读者,在老东家不断学习,最后逆袭

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

《Oracle Java SE编程自学与面试指南》最佳学习路线图(2020最新版)

正确选择比瞎努力更重要!

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

微软为一人收购一公司?破解索尼程序、写黑客小说,看他彪悍的程序人生!...

作者 | 伍杏玲出品 | CSDN(ID:CSDNnews)格子衬衫、常掉发、双肩包、修电脑、加班多……这些似乎成了大众给程序员的固定标签。近几年流行的“跨界风”开始刷新人们对程序员的...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

我说我懂多线程,面试官立马给我发了offer

不小心拿了几个offer,有点烦

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

立即提问
相关内容推荐