如题,需要在JSP页面做一个级联的动态下拉菜单写了如下:
<td width="172" id="myth">机 型:
<select name="jixing" style="width:70px" onChange="change_xian()">
<option selected="selected">请选择</option>
<% String sql17="select distinct 机型 from JT1_机车配属";
Statement stmt=conn.createStatement();
ResultSet rs17=stmt.executeQuery(sql17);
while(rs17.next())
{
String ji=rs17.getString("机型").trim();
if(ji!=""){
%>
<option value=<%=ji%>><%=ji%></option>
<% }} rs17.close();%>
</select>
</td>
<Script language="JavaScript" type="">
function change_xian()
{
var s=document.getElementById("jixing").value;
var url="Ajax_pos1.jsp?jixing="+s;
url = encodeURI(encodeURI(url));
Ajax_g11(url);}function Ajax_g11(url)
{if (window.xmlHttpRequest) {
req = new xmlHttpRequest();
}else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.xmlHTTP");
}
if(req){
req.open("GET",url, true);
req.onreadystatechange = Ajax_js_g11;
req.send(null);
} }
function Ajax_js_g11()
{
if (req.readyState == 4) {
if (req.status == 200) {
var departmentname= req.responsexml.getElementsByTagName("b");
var arr=new Array();
arr=departmentname[0].firstChild.data.split(",");
document.form.chehao1.length=0;
for(var i=0;i<arr.length;i++)
{
document.form.chehao1.options[i] = new Option(arr[i],arr[i]);
}
}
}
}
</Script>
<td width="146" id="myth">车 号:
<span style="position:relative; width:80px">
<span style="margin-left:52px;width:18px;overflow:hidden;">
<select style="width:70px;margin-left:-52px" onChange="this.parentNode.nextSibling.value=this.value" name="chehao1">
<option value="" selected="selected">———</option>
</select>
</span>
<input name="chehao" style="width:52px;position:absolute;left:0px;">
</span>
</td>
《车号》的下拉单是可编辑的。
Ajax里的内容都可以实现,结果也正确,但是在下拉单时,所有《车号》的第一个选项选过之后显示不出来,不知道为什么,有点怀疑是可编辑下拉单的问题,但是不知道是错在什么地方?各位大侠帮我看下,万分感谢。
<td width="172" id="myth">机 型:
<select name="jixing" style="width:70px" onChange="change_xian()">
<option selected="selected">请选择</option>
<% String sql17="select distinct 机型 from JT1_机车配属";
Statement stmt=conn.createStatement();
ResultSet rs17=stmt.executeQuery(sql17);
while(rs17.next())
{
String ji=rs17.getString("机型").trim();
if(ji!=""){
%>
<option value=<%=ji%>><%=ji%></option>
<% }} rs17.close();%>
</select>
</td>
<Script language="JavaScript" type="">
function change_xian()
{
var s=document.getElementById("jixing").value;
var url="Ajax_pos1.jsp?jixing="+s;
url = encodeURI(encodeURI(url));
Ajax_g11(url);}function Ajax_g11(url)
{if (window.xmlHttpRequest) {
req = new xmlHttpRequest();
}else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.xmlHTTP");
}
if(req){
req.open("GET",url, true);
req.onreadystatechange = Ajax_js_g11;
req.send(null);
} }
function Ajax_js_g11()
{
if (req.readyState == 4) {
if (req.status == 200) {
var departmentname= req.responsexml.getElementsByTagName("b");
var arr=new Array();
arr=departmentname[0].firstChild.data.split(",");
document.form.chehao1.length=0;
for(var i=0;i<arr.length;i++)
{
document.form.chehao1.options[i] = new Option(arr[i],arr[i]);
}
}
}
}
</Script>
<td width="146" id="myth">车 号:
<span style="position:relative; width:80px">
<span style="margin-left:52px;width:18px;overflow:hidden;">
<select style="width:70px;margin-left:-52px" onChange="this.parentNode.nextSibling.value=this.value" name="chehao1">
<option value="" selected="selected">———</option>
</select>
</span>
<input name="chehao" style="width:52px;position:absolute;left:0px;">
</span>
</td>
《车号》的下拉单是可编辑的。
Ajax里的内容都可以实现,结果也正确,但是在下拉单时,所有《车号》的第一个选项选过之后显示不出来,不知道为什么,有点怀疑是可编辑下拉单的问题,但是不知道是错在什么地方?各位大侠帮我看下,万分感谢。
<td width="146" id="myth">车 号:
<span style="position:relative; width:80px">
<span style="margin-left:52px;width:18px;overflow:hidden;">
<select style="width:70px;margin-left:-52px" onChange="this.parentNode.nextSibling.value=this.value" name="chehao1">
<option value="" selected="selected">——— </option>
</select>
</span>
<input name="chehao" style="width:52px;position:absolute;left:0px;">
</span>
</td>
<option value="" >----- </option> </select>
<option value="" >----- </option> </select>