下拉框的级联显示怎么做





籍贯:
安徽
//在安徽下有分安徽的省份
江苏

//在江苏下又分江苏的省份

14个回答

html部分代码为下拉列表添加onchange事件

    <div class="form-group" style="margin-right: 0">
         <label for="inputEmail3" class="col-sm-3 control-label" style="width: 170px; padding-top: 0">制造厂商:</label>
         <div class="col-sm-5">
            <select name="factory" id="select"  class="form-control post_select" onchange="page.change(this.value);">
            <c:forEach items="${list}" var="item" >
                    <option value="${item.manufacturerId}">${item.manufacturerName}</option>
            </c:forEach>
            </select>
        </div>
    </div>


    <div class="form-group" style="margin-right: 0">
        <label for="inputEmail3" class="col-sm-3 control-label" style="width: 170px; padding-top: 0">型号规格:</label>
        <div class="col-sm-5">
            <select name="model" id="model"  class="form-control post_select" >
            </select>
        </div>
    </div>

jQuery部分代码,还需要在页面初始化的时候就调用该方法加载一遍

var manufacturerId = $("#select").val();
page.change(manufacturerId);

page.change=function(manufacturerId){
$.ajax({
url:"${ctx }/psdj/change",
type:'get',
async:true,
cache:false,
data:{
"id":manufacturerId
},
success:function(data){
var items = data.model;
var selectModel = $("#model");
selectModel.empty();
if(items!=null){
for(var i in items){
var item = items[i];
selectModel.append(""+item.modelName+"");

                      $("#model").val('${vo.model}');

                  }
              }
              else{
                  selectModel.empty();
              }
          }
    });
}

如果需要第二个下拉列表回显值,则需要在

qq_41843551
鱼在海上飞 等我去试试,不知道级联这么麻烦
大约 2 年之前 回复

图片说明
比如还要南京里面还要有南京的区,芜湖还有芜湖的下拉框区

数组或者ajax,都可以,如果是地区的网上有下载的https://www.cnblogs.com/maderlzp/p/7687161.html
https://www.jb51.net/article/115492.htm

1,用2个Select ,配合JS脚本实现联动;
<!DOCTYPE html>



Insert title here function fn(){ var select=document.getElementById("city"); var c=select.value; var area=document.getElementById("area"); switch(c) { case "jx": area.innerHTML="<option>抚州市</option><option>南昌市</option><option>赣州市</option><option>宜春市</option>"; break; case "gd":area.innerHTML="<option>广州市</option><option>韶关市</option><option>佛山市</option><option>东莞市</option>"; break; case "fj":area.innerHTML="<option>泉州市</option><option>厦门市</option><option>福州市</option><option>漳州市</option>"; break; case "hn":area.innerHTML="<option>长沙市</option><option>湘潭市</option><option>乐昌市</option><option>郴州市</option>"; break; default:alert("error"); } };




江西
广东
福建
湖南


抚州市
南昌市
赣州市
宜春市

好久没写代码了,文字逻辑回答下:
第一步:写两个select组件,一个命名id为省级select组件,一个命名id为地市级select组件;
第二步:在省级select 组件中增加onchange事件;
第三步:在引入的js文件或javascript脚本处编写 onchange调用的事件脚本,在方法体中实现地市级select组件的组装,可组装静态(纯页面文字)的option组件,也可根据Ajax方法组装动态(数据库读取)的option组件。

https://blog.csdn.net/w172087242/article/details/51077046
可以参考一下,里面有个下载demo的,可以直接参考使用

希望可以帮到你....





<br> function setM(){<br> //利用js代码向下拉框添加选项<br> var sel = document.getElementById(&quot;m&quot;);<br> //循环12次,添加上1-12月份<br> //创建一个option<br> for(var i=1;i&lt;=12;i++){<br> var opt =new Option(i+&quot;月份&quot;,i);//2个参数,第一个是text,value<br> sel.add(opt);<br> }<br> }<br> function setDate(m){<br> console.log(m);<br> //得到该月的日期<br> var date =31;<br> //得到日期下拉框<br> var sel = document.getElementById(&quot;d&quot;);<br> //对日期变量进行遍历<br> for(var i=1;i&lt;=date;i++){<br> var opt = new Option(i+&quot;号&quot;,i);<br> sel.add(opt);<br> }<br> }<br>


月份:
    </select><br>
    日期:<select id="d"></select>
    <script>
        setM();
        setDate(document.getElementById("m").value)
    </script>
</body>


 <html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script>
            function setM(){
                //利用js代码向下拉框添加选项
                var sel = document.getElementById("m");
                //循环12次,添加上1-12月份
                //创建一个option
                for(var i=1;i<=12;i++){
                    var opt =new Option(i+"月份",i);//2个参数,第一个是text,value
                    sel.add(opt);
                }
            }
            function setDate(m){
                console.log(m);
                //得到该月的日期
                var date =31;
                //得到日期下拉框
                var sel = document.getElementById("d");
                //对日期变量进行遍历
                for(var i=1;i<=date;i++){
                    var opt = new Option(i+"号",i);
                    sel.add(opt);
                }
            }
        </script>
    </head>
    <body>
        月份:<select id="m" onchange="setDate(this.value)">

        </select><br>
        日期:<select id="d"></select>
        <script>
            setM();
            setDate(document.getElementById("m").value)
        </script>
    </body>
</html>

共14条数据 1 尾页
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何使用Adobe Acrobat Pro实现下拉框级联

如题, 如何使用Acrobat实现PDF表单中 下拉框级联功能

ssm做三级级联树形图实现条件查询功能

我采用的是ssm框架,项目里有下拉框三级级联的查询功能(已实现)。现在想做一个三级级联的树形图进行条件查询。想知道具体思路,下拉框级联查询对做树形图查询有没有可以调用的。希望大神能详解一下。前台用ul,li,或者使用ztree

关于MFC下拉窗口实现联动的问题

![![![图片说明](https://img-ask.csdn.net/upload/201709/01/1504263662_390507.png)图片说明](https://img-ask.csdn.net/upload/201709/01/1504263655_749797.png)图片说明](https://img-ask.csdn.net/upload/201709/01/1504263648_476028.png) 如图 如果是定期存款后边的下拉框会弹出时间年限,如果是活期的就是一个锁定的下拉框 该如何实现

前端实现下拉框中嵌入表格

麻烦大家帮忙看看,实现通过点击下拉的按钮,下拉框中显示表格,集思广益,说下实现思想。

在做四级联动下拉列表时遇到 ajax第二级列表拿不到值得问题

![图片说明](https://img-ask.csdn.net/upload/201609/02/1472780643_502072.png) ![图片说明](https://img-ask.csdn.net/upload/201609/02/1472780662_103886.png) ![图片说明](https://img-ask.csdn.net/upload/201609/02/1472780673_663434.png) ![图片说明](https://img-ask.csdn.net/upload/201609/02/1472780687_100299.png) ![图片说明](https://img-ask.csdn.net/upload/201609/02/1472780697_765101.png)

select 多级下拉框如何去做?

现有一个下拉框,如下面代码,我想实现下拉框test2后面继续有子菜单 test2.1,test2.2,test2.3...,然后可以获取value值, 类似于 ``` <ul> <li>1</li> <li> 2 <ul> <li>2.1</li> </ul> </li> </ul> ``` 但是这种,当我选中1.1时,不好获取值, 所以还是想用select标签方式实现,有没有好的办法,之前在网上似乎看到过, 无奈,找不到了。。。需求帮助,插件也行 ``` <select id="test1" name="test"> <option value="">--please choose--</option> <option value="1">test1</option> <option value="2">test2</option> <option value="3">test3</option> <option value="4">test4</option> </select> ```

excel 2级下拉框 1级选择后 2级自动改变

2级下拉框我做出来了,可有这么个问题, 比如:1级的值是 A,B,C,D 2级值就是对应的A1,A2,A3;B1,B2,B3;C1,C2,C3;D1,D2,D3 可效果是1级值变化,2级不会相应变化 比如:1级选择A,2级选择A2,再选择1级B,2级还是值A2。 现在我要的是1级单元格选择A后,2级单元格该显示A1了, 1级单元格选择B,2级单元格该显示B1。 2级下拉框我用的函数是=INDIRECT() 求帮忙啊

用JavaScript做个省份城市下拉框

请问如何写前两个输入框的onblur函数。 ``` <body> <input id="shengfen" type="text" onblur="enters()">//这两个文本框是让用户输入省份和城市,输入后onblur控制在后面的选择框里自动出现用户输入的省份和城市。 <input id="chengshi" type="text" onblur="enterc()">// <select id="province"> <option value="none">请选择</option> </select> <select id="city"></select> <input type="button" onclick="info()" value="输出"> </body> <script> var datas = { "河北": ["衡水","保定","唐山"],"河南":["郑州","许昌","开封"]}; $(function() { $.each(datas, function (key, value) { var option = $("<option value=" + key + ">" + key + "</option>"); $("#province").append(option); }); $("#province").change(function () { var selectprovine = $("#province").val(); $("#city option").remove(); if(selectprovine == "none") { return; } $(datas[selectprovine]).each(function () { var cityoption = $("<option value=" + this + ">" + this + "</option>"); $("#city").append(cityoption); }); }); }); function info() { alert("您选择的是地方为" + $("#province").val() + $("#city").val()); } function enters() { } function enterc() { } </script> ``` 谢谢各位老师。

用extjs做级联只变一次

,第二次选省之后市还是第一次的。但选中之后是文本显示第二次的市问题是怎么让下拉列表显示的正确呢? listeners:{ select : function(Combo, record,index){ var param =Combo.value; var provinceStore = new Ext.data.JsonStore({ proxy: new Ext.data.HttpProxy({url:'findCountryList.action?nationType1='+escape(param)}), totalProperty: "totalProperty", root: "root", fields:[ 'nationPinyin', 'nationId', 'nationName' ] }); //设置所在国家的省的下拉列表的列表项的新的Store var provinceCombo = Ext.getCmp("province"); //provinceCombo.store.removeAll(); provinceCombo.clearValue(); provinceCombo.store=provinceStore; provinceCombo.store.reload(); } 精通extJs的来个。千万别废话谢谢。别说上网找等等的屁话,别让我骂你。我要真正能解决我问题的答案。13多亿人口的大中国没有一个能解决我的问题的吗? qq+++++++++1747718747 我发完整的Combo代码,谢谢了

跪求jfinal框架做的三级下拉框联动的demo 和数据库连接的

语言:java 数据库:sql 框架:jfinal 实现三级下拉框联动 求jfinal 大神 跪求了

【已解决】下拉框的多级联动,怎么发送消息(两级以上的联动)

![一个子窗口](https://img-ask.csdn.net/upload/201705/14/1494769316_480287.png) 就是一个窗口上有多个下拉框 重复类型: 重复周期: 重复时间: …… 修改第一个重复类型,比如是 按日重复,第二个重复周期的内容变成一号、二号、三号…… 按周重复,第二个重复周期的内容变成星期一星期二星期三…… 而按周重复我还想将Combo Box改成复选按钮,或许会分成两行, 然后对应的重复时间什么的位置就会跟着下移…… 然后再往下其他控件的位置也发生了变化。 …… 内容的联动我已经做好了,通过修改重复类型,产生CBN_SELCHANGE消息,来修改重复周期的内容。 可是这就有个问题,那就是重复类型没有点击之前,重复周期……重复时间等缺省不好做。 像OnCbnSelchangeComtype()事件中那些设置,我倒是可以选一个设置到OnInitDialog里面,可问题不能到这里解决。 修改了重复类型,重写了重复周期,那再往下的重复时间呢?也写在OnCbnSelchangeComtype()里面么?我希望能够在自动变化了周期之后,还能发送一个消息,去换一个事件响应这些变化,去自动变化时间。 我尝试用SendMessage来发送消息,不过没学好,我一时间不明白SendMessage的内容应该怎么写,放控件ID?放消息类型?这两个应该都要放吧,还是使用其他的办法?? …… 这里面我还有很重要的想要解决的问题,那就是界面排版的问题,代码里面写了一个界面排版,并且用自定义消息(Initmove )来调用这个排版,可是这个排版是固定的。 如果我重复类型选择了按周重复,重复周期里面的下拉框隐藏掉,变成七个多选按钮,或许会占据两排三排,然后再往下的重复时间的位置会向下顺延,我总感觉,只要设置一个关联的消息传递就能做到…… 思路是:重复类型变化了,传递一个消息给重复周期,我感觉应该也是用CBN_SELCHANGE,比如SendMessage(CBN_SELCHANGE,IDC_COMPER)?这个写法应该是错的,唉,都怪我没学好。 重复周期内容变化了,作出对应代码改变,然后传递消息给下一个重复时间的事件……这样依次传递依次修改,而不是做在同一个事件里面,应该怎么写代码? 可我就是做不到…… 求助: `// DATADlg.cpp : 实现文件 // #include "stdafx.h" #include "天星定时器.h" #include "DATADlg.h" #include "afxdialogex.h" enum { initzzw = WM_USER+ 3584, Initmove = initzzw+1 }; // DATADlg 对话框 IMPLEMENT_DYNAMIC(DATADlg, CDialogEx) DATADlg::DATADlg(CWnd* pParent /*=NULL*/) : CDialogEx(IDD_DATA, pParent) { } DATADlg::~DATADlg() { } void DATADlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_COMTYPE, Comtype); DDX_Control(pDX, IDC_COMPER, Comper); DDX_Control(pDX, IDC_COMTIME, Comtime); DDX_Control(pDX, IDC_STAPER, Staper); } BEGIN_MESSAGE_MAP(DATADlg, CDialogEx) ON_CBN_SELCHANGE(IDC_COMTYPE, &DATADlg::OnCbnSelchangeComtype) ON_MESSAGE(Initmove, &DATADlg::OnInitmove) ON_CBN_SELCHANGE(IDC_COMPER, &DATADlg::OnCbnSelchangeComper) END_MESSAGE_MAP() // DATADlg 消息处理程序 BOOL DATADlg::OnInitDialog() { CDialogEx::OnInitDialog(); // TODO: 在此添加额外的初始化 SendMessage(Initmove); Comtype.AddString(_T("不重复")); Comtype.AddString(_T("按日重复")); Comtype.AddString(_T("按周重复")); Comtype.AddString(_T("按月重复")); Comtype.AddString(_T("按年重复")); Comtype.AddString(_T("按自定义重复")); Comtype.SetCurSel(0); return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回 FALSE } void DATADlg::OnCbnSelchangeComtype() { CString Text; GetDlgItemText(IDC_COMTYPE, Text); if (Text == _T("不重复")) { Comper.ResetContent(); GetDlgItem(IDC_STAPER)->SetWindowText(_T("不重复")); } else if (Text == _T("按日重复")) { Comper.ResetContent(); Comper.AddString(_T("1")); Comper.AddString(_T("2")); Comper.AddString(_T("3")); Comper.AddString(_T("4")); Comper.AddString(_T("5")); Comper.AddString(_T("6")); Comper.AddString(_T("7")); Comper.AddString(_T("8")); Comper.AddString(_T("9")); Comper.AddString(_T("10")); Comper.SetCurSel(0); GetDlgItem(IDC_STAPER)->SetWindowText(_T("日")); } else if (Text == _T("按周重复")) { Comper.ResetContent(); Comper.AddString(_T("星期一")); Comper.AddString(_T("星期二")); Comper.AddString(_T("星期三")); Comper.AddString(_T("星期四")); Comper.AddString(_T("星期五")); Comper.AddString(_T("星期六")); Comper.AddString(_T("星期天")); Comper.SetCurSel(0); GetDlgItem(IDC_STAPER)->SetWindowText(_T(" ")); } else if (Text == _T("按月重复")) { Comper.ResetContent(); Comper.AddString(_T("1")); Comper.AddString(_T("2")); Comper.AddString(_T("3")); Comper.AddString(_T("4")); Comper.AddString(_T("5")); Comper.AddString(_T("6")); Comper.AddString(_T("7")); Comper.AddString(_T("8")); Comper.AddString(_T("9")); Comper.AddString(_T("10")); Comper.SetCurSel(0); GetDlgItem(IDC_STAPER)->SetWindowText(_T("月")); } else if (Text == _T("按年重复")) { Comper.ResetContent(); Comper.AddString(_T("1")); Comper.AddString(_T("2")); Comper.AddString(_T("3")); Comper.AddString(_T("4")); Comper.AddString(_T("5")); Comper.AddString(_T("6")); Comper.AddString(_T("7")); Comper.AddString(_T("8")); Comper.AddString(_T("9")); Comper.AddString(_T("10")); Comper.SetCurSel(0); GetDlgItem(IDC_STAPER)->SetWindowText(_T("年")); } else if (Text == _T("按自定义重复")) GetDlgItem(IDC_STAPER)->SetWindowText(_T("自定义")); //Comper.ResetContent(); //MessageBox(_T("找到了") + Text); SendMessage(IDC_COMPER, CBN_SELCHANGE); // TODO: 在此添加控件通知处理程序代码 } afx_msg LRESULT DATADlg::OnInitmove(WPARAM wParam, LPARAM lParam) { //定义左半边的位置,设定X1; int x1=5, x2, y1=5, y2, x3; CRect EDITrect, STXNRrect; GetDlgItem(IDC_EDIT)->GetWindowRect(&EDITrect); GetDlgItem(IDC_STATICTXNR)->GetWindowRect(&STXNRrect); STXNRrect.MoveToXY(x1, y1); EDITrect.MoveToXY(STXNRrect.TopLeft().x, STXNRrect.TopLeft().y + STXNRrect.Height()); GetDlgItem(IDC_STATICTXNR)->MoveWindow(STXNRrect);//移动到目标位置 GetDlgItem(IDC_EDIT)->MoveWindow(EDITrect);//移动到目标位置 x2 = EDITrect.right + 30; //定义右半边 提醒时间等文字的x点 //第一行 提醒时间 CRect STXSJrect, DATErect, TIMErect; GetDlgItem(IDC_STATICTXSJ)->GetWindowRect(&STXSJrect); GetDlgItem(IDC_DATE)->GetWindowRect(&DATErect); GetDlgItem(IDC_TIME)->GetWindowRect(&TIMErect); DATErect.MoveToY(0); TIMErect.MoveToY(0); y2 = (TIMErect.Height() - STXSJrect.Height()) / 2; STXSJrect.MoveToXY(x2, y2); GetDlgItem(IDC_STATICTXSJ)->MoveWindow(STXSJrect); x3 = STXSJrect.right;//确定后面所有X3的位置 DATErect.MoveToX(x3); GetDlgItem(IDC_DATE)->MoveWindow(DATErect); TIMErect.MoveToX(DATErect.right); GetDlgItem(IDC_TIME)->MoveWindow(TIMErect); y2 = TIMErect.bottom + 5; //第二行 重复类型 CRect SCFLXrect;//重复类型文字 CRect TYPErect;//重复类型下拉框 GetDlgItem(IDC_STATICCFLX)->GetWindowRect(&SCFLXrect); GetDlgItem(IDC_COMTYPE)->GetWindowRect(&TYPErect); TYPErect.MoveToXY(x3,y2); SCFLXrect.MoveToXY(x2, y2 + (TYPErect.Height() - SCFLXrect.Height()) / 2); GetDlgItem(IDC_STATICCFLX)->MoveWindow(SCFLXrect); GetDlgItem(IDC_COMTYPE)->MoveWindow(TYPErect); y2 = TYPErect.bottom + 5; //第三行 重复周期 CRect SCFZQrect;//重复周期 CRect SMrect;//文字:每 CRect PERrect;//重复周期下拉框 CRect SPERrect;//重复周期天、日、月、年…等文字 GetDlgItem(IDC_STATICCFZQ)->GetWindowRect(&SCFZQrect); GetDlgItem(IDC_STATICM)->GetWindowRect(&SMrect); GetDlgItem(IDC_COMPER)->GetWindowRect(&PERrect); GetDlgItem(IDC_STAPER)->GetWindowRect(&SPERrect); PERrect.MoveToY(y2); y2 = (PERrect.Height() - SCFZQrect.Height()) / 2 + y2; SCFZQrect.MoveToXY(x2, y2); GetDlgItem(IDC_STATICCFZQ)->MoveWindow(SCFZQrect); SMrect.MoveToXY(x3, y2); GetDlgItem(IDC_STATICM)->MoveWindow(SMrect); PERrect.MoveToX(SMrect.right); GetDlgItem(IDC_COMPER)->MoveWindow(PERrect); SPERrect.MoveToXY(PERrect.right, y2); GetDlgItem(IDC_STAPER)->MoveWindow(SPERrect); y2 = PERrect.bottom+5;//上一行结束之后,更新下一行的高度 //第四行 重复时间 CRect SCFSJrect;//重复时间 CRect CTIMErect;//重复时间下拉框 GetDlgItem(IDC_STATICCFSJ)->GetWindowRect(&SCFSJrect); GetDlgItem(IDC_COMTIME)->GetWindowRect(&CTIMErect); CTIMErect.MoveToY(y2); SCFSJrect.MoveToXY(x2, (CTIMErect.Height()- SCFSJrect.Height())/2+y2); GetDlgItem(IDC_STATICCFSJ)->MoveWindow(SCFSJrect); CTIMErect.MoveToX(x3); GetDlgItem(IDC_COMTIME)->MoveWindow(CTIMErect); y2 = CTIMErect.bottom + 5;//上一行结束之后,更新下一行的高度 //第五行 结束条件 CRect SJSTJrect;//结束条件 CRect RNOrect;//从不结束条件 GetDlgItem(IDC_STATICJSTJ)->GetWindowRect(&SJSTJrect); GetDlgItem(IDC_RADIONO)->GetWindowRect(&RNOrect); RNOrect.MoveToXY(x3,y2); SJSTJrect.MoveToXY(x2, (RNOrect.Height() - SJSTJrect.Height()) / 2 + y2); GetDlgItem(IDC_STATICJSTJ)->MoveWindow(SJSTJrect); GetDlgItem(IDC_RADIONO)->MoveWindow(RNOrect); y2 = RNOrect.bottom+5; CRect RFRErect, CFRErect, SFRErect;//发生X次之后结束 GetDlgItem(IDC_RADIOFRE)->GetWindowRect(&RFRErect); GetDlgItem(IDC_COMFRE)->GetWindowRect(&CFRErect); GetDlgItem(IDC_STATICFRE)->GetWindowRect(&SFRErect); CFRErect.MoveToY(y2); RFRErect.MoveToXY(x3, (CFRErect.Height() - RFRErect.Height()) / 2 + y2); CFRErect.MoveToX(RFRErect.right); SFRErect.MoveToXY(CFRErect.right, (CFRErect.Height() - SFRErect.Height()) / 2 + y2); GetDlgItem(IDC_RADIOFRE)->MoveWindow(RFRErect); GetDlgItem(IDC_COMFRE)->MoveWindow(CFRErect); GetDlgItem(IDC_STATICFRE)->MoveWindow(SFRErect); y2 = CFRErect.bottom + 5; CRect RTIMEJS, CTIMEJS, STIMEJS;//在X时间之后结束 GetDlgItem(IDC_RADIOTIMEJS)->GetWindowRect(&RTIMEJS); GetDlgItem(IDC_COMTIMEJS)->GetWindowRect(&CTIMEJS); GetDlgItem(IDC_STATICTIMEJS)->GetWindowRect(&STIMEJS); CTIMEJS.MoveToY(y2); RTIMEJS.MoveToXY(x3, (CTIMEJS.Height() - RTIMEJS.Height()) / 2 + y2); CTIMEJS.MoveToX(RTIMEJS.right); STIMEJS.MoveToXY(CTIMEJS.right, (CTIMEJS.Height() - STIMEJS.Height()) / 2 + y2); GetDlgItem(IDC_RADIOTIMEJS)->MoveWindow(RTIMEJS); GetDlgItem(IDC_COMTIMEJS)->MoveWindow(CTIMEJS); GetDlgItem(IDC_STATICTIMEJS)->MoveWindow(STIMEJS); y2 = CTIMEJS.bottom + 5; //第六行 执行事件 CRect SZXSJ,RTQTX,CTQTX,STQTX;//执行事件,提前N分钟提醒 GetDlgItem(IDC_STAZXSJ)->GetWindowRect(&SZXSJ); GetDlgItem(IDC_RADTQTX)->GetWindowRect(&RTQTX); GetDlgItem(IDC_COMTQTX)->GetWindowRect(&CTQTX); GetDlgItem(IDC_STATQTX)->GetWindowRect(&STQTX); CTQTX.MoveToY(y2); SZXSJ.MoveToXY(x2, (CTQTX.Height() - SZXSJ.Height()) / 2 + y2); RTQTX.MoveToXY(x3, (CTQTX.Height() - RTQTX.Height()) / 2 + y2); CTQTX.MoveToX(RTQTX.right); STQTX.MoveToXY(CTQTX.right, (CTQTX.Height() - STQTX.Height()) / 2 + y2); GetDlgItem(IDC_STAZXSJ)->MoveWindow(SZXSJ); GetDlgItem(IDC_RADTQTX)->MoveWindow(RTQTX); GetDlgItem(IDC_COMTQTX)->MoveWindow(CTQTX); GetDlgItem(IDC_STATQTX)->MoveWindow(STQTX); y2 = CTQTX.bottom + 5; CRect RYXRJ;//运行软件 GetDlgItem(IDC_RADYXRJ)->GetWindowRect(&RYXRJ); RYXRJ.MoveToXY(x3,y2); GetDlgItem(IDC_RADYXRJ)->MoveWindow(RYXRJ); y2 = RYXRJ.bottom + 5; y2 = RNOrect.bottom + 5;//上一行结束之后,更新下一行的高度 return 0; } void DATADlg::OnCbnSelchangeComper() { // TODO: 在此添加控件通知处理程序代码 } `

bootstrap做一个下拉菜单,在第一个菜单选择了省以后,第二个下拉菜单会出来该省的市

bootstrap做一个下拉菜单,在第一个菜单选择了省以后,第二个下拉菜单会出来该省的市

PHP如何实现两个下拉列表框的联动

如何实现两个下拉列表框的联动(选中一个可以在数据库中查询然后显示第二个,而且第二个是可选可编辑的)

在html里实现下拉菜单的二级联动(Ajax) 下拉菜单的数据怎么从数据库循环读取出来呢?

我看到网上有详细的 在jsp页面上做二级联动的方法 但是在循环读取的时候 jsp都用的JSTL标签库

请给我详细讲讲三级下拉联动,谢谢

先上图吧: ![图片说明](https://img-ask.csdn.net/upload/201707/29/1501317893_427585.png) , , ①:代表第一个下拉列表; ②:代表第二个下拉列表; ③:代表第三个下拉列表。 , , **我的需求:** 我在 ① ② ③ 默认都为请选择,在不选择 ① 的情况下,② 和 ③ 是没有内容的。 只有选择了 ① 之后,② 才会出现对应的内容。 比如,我在 ① 处选择了广东省,② 才会出现『广州市、深圳市……』的内容。 同时,每当我在下拉列表中选择一种选项,页面中的内容:也就是根据职位类型所查询出的公司,都会根据下拉列表的选项,从数据库中进行查询。 , , , **目前的情况:** 目前我已将后台的查询方法都写好了,但是前端这一块实在不太擅长。如果说前端要返回ajax的话,那么如何返回?后台又如何接受(实在抱歉,我太菜了,没怎么搞过前端,之前都是专做后台,只需要从后台返回json数据到前端,还真不知道controller怎么接收ajax)。 , , 请大神给我详细的说说,下拉联动如何搞,如何返回ajax到后台,后台又如何接收? 对了,我用的是ThymeLeaf模板。

s:doubleselect 标签怎级联,要用到那些属性,

我现在要做的是添加学生时,页面有年级和班级两个下拉框,可以让用户选择

ajax,jsp,xml二级级联下拉列表

我想做一个简单的ajax,jsp,xml三者结合的二级级联下拉框,就是把数据放到xml文件中 但我不知道如何读取xml中的数据,如何获取list,再按照选中的查找... 我已经做了ajax,jsp从数据库中读取数据。但不知如何修改!还有xml文件放哪儿呢?放到web-inf下吗?还是和jsp放在一起? 请大家帮忙,指点指点 谢谢 index.jsp [code="java"]<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="gb2312"%> <html> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <head> <% String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接sql数据库的方法 String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; String userName = "用户名"; String password = "密码"; Connection conn = null; Statement st = null; ResultSet rs = null; List listb = new ArrayList(); try{ Class.forName(dbDriver); } catch(java.lang.ClassNotFoundException e) { e.printStackTrace(); } try { conn = DriverManager.getConnection(url,userName,password); st=conn.createStatement(); String sqlQuery="sql语句"; rs=st.executeQuery(sqlQuery); while (rs.next()) { listb.add(rs.getString(1)); } rs.close(); st.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } %> <script language="javascript"> var XMLHttpReq; //创建XMLHttpRequest对象 function createXMLHttpRequest() { if(window.XMLHttpRequest) { //Mozilla 浏览器 XMLHttpReq = new XMLHttpRequest(); } else if (window.ActiveXObject) { // IE浏览器 try { XMLHttpReq = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { XMLHttpReq = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } } //发送请求函数 function sendRequest(url) { createXMLHttpRequest(); XMLHttpReq.open("GET", url, true); XMLHttpReq.onreadystatechange = processResponse;//指定响应函数 XMLHttpReq.send(null); // 发送请求 } // 处理返回信息函数 function processResponse() { if (XMLHttpReq.readyState == 4) { // 判断对象状态 if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息 updateMenu(); } else { //页面不正常 alert("您所请求的页面有异常。"); } } } //更新菜单函数 function updateMenu() { var res=XMLHttpReq.responseXML.getElementsByTagName("res") /**下面是用innerHTML输出控件内容的一般用法 * var subMenu = ""; * for(var i = 0; i < res.length; i++) { * subMenu = subMenu + " " + res[i].firstChild.data + ""; * } * currentSort.innerHTML = subMenu; **/ var list = document.all.list; list.options.length=0; list.add(new Option("---请选择---","")); for(var i=0;i<res.length;i++){ list.add(new Option(res[i].firstChild.data,res[i].firstChild.data)); } } // 创建级联菜单函数 function showSubMenu(obj) { sendRequest("menu.jsp?sort=" + obj ); /**下面这一句的作用是:每次选择后回到第一个选项**/ // document.all.mli.options[0].selected=true; } </script> </head> <body> <select onchange="showSubMenu(this.options[this.options.selectedIndex].value)" name="select1"> <option value=''>---------请选择----------</option> <% for(int i=0;i<listb.size();i++) { out.println("<option value='"+listb.get(i)+"'>"+listb.get(i)+"</option>"); } %> </select> <select name="list" onchange="if(this.selectedIndex)alert('您选择的是:'+select1.options.value+' 中的 '+this.options[this.options.selectedIndex].value)"> <option value="">---请选择---</option> </select> </body> </html> [/code] menu.jsp [code="java"] HTML code<%@ page contentType="text/html; charset=GB2312" import="java.util.*,java.sql.*" %> <% String sort=new String(request.getParameter("sort").getBytes("iso-8859-1"),"GB2312"); System.out.print("sort="+sort); String dbDriver = "com.microsoft.jdbc.sqlserver.SQLServerDriver"; //连接sql数据库的方法 String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; String userName = "用户名"; String password = "密码"; Connection conn = null; Statement st = null; ResultSet rs = null; List lists = new ArrayList(); try{ Class.forName(dbDriver); } catch(java.lang.ClassNotFoundException e) { e.printStackTrace(); } try { conn = DriverManager.getConnection(url,userName,password); st=conn.createStatement(); rs=st.executeQuery("sql语句"); while (rs.next()) { lists.add(rs.getString(1)); } rs.close(); st.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } response.setContentType("text/xml; charset=gb2312"); response.setHeader("Cache-Control", "no-cache"); response.getWriter().write("<?xml version=\"1.0\" encoding=\"gb2312\"?>"); out.println("<response>"); for(int i=0;i<lists.size();i++) { out.println("<res>" + lists.get(i).toString() + "</res>"); } out.println("</response>"); %> [/code]

javaFX scene builder2.0 的ComboBox 怎么用

我做好窗口之后,有了ComboBox, 然后 static ObservableList<String> options = FXCollections.observableArrayList( "Option 1", "Option 2", "Option 3" ); @FXML private static ComboBox<?> Source=new ComboBox(); static{ Source.setItems( options); } 然后窗口的combobox 控件没反应

C#comcocox数据保存到SQL server

在写一个软件,有两个combobox下拉框做了多级级联,但无法保存到sql数据库,求大神们帮忙看看什么原因。 ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476097824_527385.jpg) ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476097857_171758.jpg) 下面是二级级联代码 ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476097893_393633.jpg) ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476097788_92648.jpg) sql server表中字段数据类型 ![图片说明](https://img-ask.csdn.net/upload/201610/10/1476097904_637726.jpg)

4小时玩转微信小程序——基础入门与微信支付实战

4小时玩转微信小程序——基础入门与微信支付实战

Python可以这样学(第四季:数据分析与科学计算可视化)

Python可以这样学(第四季:数据分析与科学计算可视化)

组成原理课程设计(实现机器数的真值还原等功能)

实现机器数的真值还原(定点小数)、定点小数的单符号位补码加减运算、定点小数的补码乘法运算和浮点数的加减运算。

javaWeb图书馆管理系统源码mysql版本

系统介绍 图书馆管理系统主要的目的是实现图书馆的信息化管理。图书馆的主要业务就是新书的借阅和归还,因此系统最核心的功能便是实现图书的借阅和归还。此外,还需要提供图书的信息查询、读者图书借阅情况的查询等

土豆浏览器

土豆浏览器可以用来看各种搞笑、电影、电视剧视频

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

Java8零基础入门视频教程

Java8零基础入门视频教程

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

TTP229触摸代码以及触摸返回值处理

自己总结的ttp229触摸代码,触摸代码以及触摸按键处理

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

java jdk 8 帮助文档 中文 文档 chm 谷歌翻译

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 JDK1.8 API 中文 谷歌翻译版 java帮助文档 Java最新帮助文档 本帮助文档是使用谷

Ubuntu18.04安装教程

Ubuntu18.04.1安装一、准备工作1.下载Ubuntu18.04.1 LTS2.制作U盘启动盘3.准备 Ubuntu18.04.1 的硬盘空间二、安装Ubuntu18.04.1三、安装后的一些工作1.安装输入法2.更换软件源四、双系统如何卸载Ubuntu18.04.1新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列...

快速排序---(面试碰到过好几次)

原理:    快速排序,说白了就是给基准数据找其正确索引位置的过程.    如下图所示,假设最开始的基准数据为数组第一个元素23,则首先用一个临时变量去存储基准数据,即tmp=23;然后分别从数组的两端扫描数组,设两个指示标志:low指向起始位置,high指向末尾.    首先从后半部分开始,如果扫描到的值大于基准数据就让high减1,如果发现有元素比该基准数据的值小(如上图中18&amp;lt...

手把手实现Java图书管理系统(附源码)

手把手实现Java图书管理系统(附源码)

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

Python数据挖掘简易入门

Python数据挖掘简易入门

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

C++语言基础视频教程

C++语言基础视频教程

UnityLicence

UnityLicence

软件测试2小时入门

软件测试2小时入门

YOLOv3目标检测实战:训练自己的数据集

YOLOv3目标检测实战:训练自己的数据集

Python数据分析师-实战系列

系列课程主要包括Python数据分析必备工具包,数据分析案例实战,核心算法实战与企业级数据分析与建模解决方案实战,建议大家按照系列课程阶段顺序进行学习。所有数据集均为企业收集的真实数据集,整体风格以实战为导向,通俗讲解Python数据分析核心技巧与实战解决方案。

YOLOv3目标检测实战系列课程

《YOLOv3目标检测实战系列课程》旨在帮助大家掌握YOLOv3目标检测的训练、原理、源码与网络模型改进方法。 本课程的YOLOv3使用原作darknet(c语言编写),在Ubuntu系统上做项目演示。 本系列课程包括三门课: (1)《YOLOv3目标检测实战:训练自己的数据集》 包括:安装darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 (2)《YOLOv3目标检测:原理与源码解析》讲解YOLOv1、YOLOv2、YOLOv3的原理、程序流程并解析各层的源码。 (3)《YOLOv3目标检测:网络模型改进方法》讲解YOLOv3的改进方法,包括改进1:不显示指定类别目标的方法 (增加功能) ;改进2:合并BN层到卷积层 (加快推理速度) ; 改进3:使用GIoU指标和损失函数 (提高检测精度) ;改进4:tiny YOLOv3 (简化网络模型)并介绍 AlexeyAB/darknet项目。

超详细MySQL安装及基本使用教程

一、下载MySQL 首先,去数据库的官网http://www.mysql.com下载MySQL。 点击进入后的首页如下:  然后点击downloads,community,选择MySQL Community Server。如下图:  滑到下面,找到Recommended Download,然后点击go to download page。如下图:  点击download进入下载页面选择No...

一学即懂的计算机视觉(第一季)

一学即懂的计算机视觉(第一季)

董付国老师Python全栈学习优惠套餐

购买套餐的朋友可以关注微信公众号“Python小屋”,上传付款截图,然后领取董老师任意图书1本。

爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

web网页制作期末大作业

分享思维,改变世界. web网页制作,期末大作业. 所用技术:html css javascript 分享所学所得

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问