我有两个名称为meterid和subzone的下拉列表,我的应用程序中还有2个单选按钮。如果用户选择单选按钮1,则应显示meterid下拉列表。如果用户选择单选按钮2,则应显示子区下拉列表。我将从mysql表中获取下拉值。
我尝试了以下代码:
function select1()
{ 。的document.getElementById( “meter_id”)的style.display = “块”; 。的document.getElementById( “subzone_list”)的style.display = “无”; }
function select2() {
document.getElementById("subzone_list").style.display="block";
document.getElementById("meter_id").style.display="none";
}
document.getElementById("midradio").onclick = select1;
document.getElementById("subzonerd").onclick = select2;
</script>
The following code is for Meterid dropdown lisT:
<tr><td width="15%" class="options0" id="tdSearchBy" colspan="5">
<input name="r1" value="MeterID" onclick="" type="radio" id="midradio"><font size="4">Meter ID</font></td>
<%
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/suwatermeter","root","sumith");
sqlQuery="select distinct Meterid from Meter_List";
st=con.createStatement();
rs=st.executeQuery(sqlQuery);
%>
<td width="20%" class="options0" colspan="5">
<select style="WIDTH: 150px" selected="true" name="meterid" id="meter_id" onChange="this.form.submit()" style='display:none;'>
<option>Select Meter ID</option>
<% while(rs.next()) {%>
<option value="<%=rs.getInt("MeterID")%>"><%=rs.getInt("MeterID")%></option>
<% }
rs.close();
st.close();
con.close();
%>
</select>
</td></tr>
The following code is for Subzone dropdown list:
<tr><td class="options1" id="tdSearchBy" colspan="5">
<input name="r1" value="Subzone" onclick="searchOptions(3)" value="subzone" type="radio" checked="checked" id="subzonerd"><font size="4">Sub zone</font></td>
<%
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/suwatermeter","root","sumith");
String getZoneName=request.getParameter("zonelist");
sqlQuery="select distinct Subzone from Meter_List where Zone='"+getZoneName+"'" ;
st=con.createStatement();
rs=st.executeQuery(sqlQuery);
%>
<td width="20%" class="options0" id="tdSearchBy" colspan="5">
<select style="WIDTH: 150px" name="subzonelist" id="subzone_list" onchange="this.form.submit()">
<option value="SZ">Select a Sub Zone</option>
<% while(rs.next()){ %>
<option value="<%=rs.getString("Subzone")%>"><%=rs.getString("Subzone")%></option>
<% }
rs.close();
st.close();
con.close();
%>
</select>
请帮帮我。
答案 0 :(得分:0)
我认为您在DOM完成加载之前尝试通过其ID获取元素时遇到问题。
document.getElementById(“midradio”)。onclick = select1; document.getElementById(“subzonerd”)。onclick = select2;
你应该将这两行放在HTML的末尾,或者在DOM准备就绪后调用的函数中读取: http://www.w3schools.com/jsref/event_body_onload.asp
你的“subzonerd”输入元素已经在html中设置了一个onclick函数,这可能会在以后产生另一个问题。