如何通过使用jsp选择单选按钮来启用组合框

时间:2012-11-30 10:32:11

标签: jsp

我有两个名称为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>

请帮帮我。

1 个答案:

答案 0 :(得分:0)

  1. 根据您的问题,目前尚不清楚问题是什么。 (期望它不能按你的意愿工作)
  2. 这是一个javascript问题,而不是jsp问题,因此标记错误。
  3. 我认为您在DOM完成加载之前尝试通过其ID获取元素时遇到问题。

    document.getElementById(“midradio”)。onclick = select1; document.getElementById(“subzonerd”)。onclick = select2;

  4. 你应该将这两行放在HTML的末尾,或者在DOM准备就绪后调用的函数中读取: http://www.w3schools.com/jsref/event_body_onload.asp

    你的“subzonerd”输入元素已经在html中设置了一个onclick函数,这可能会在以后产生另一个问题。