0

meterid と subzone という名前の 2 つのドロップダウン リストと、アプリケーションに 2 つのラジオ ボタンがあります。ユーザーが radio button1 を選択すると、meterid ドロップダウン リストが表示されます。ユーザーがラジオ ボタン 2 を選択すると、サブゾーンのドロップダウン リストが表示されます。mysql テーブルからドロップダウン値を取得します。

私は次のコードを試しました:

function select1() 

{ document.getElementById("meter_id").style.display="block"; document.getElementById("subzone_list").style.display="none"; }

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>

私を助けてください。

4

1 に答える 1

0
  1. あなたの質問からは、何が問題なのかはっきりしません。(期待どおりに機能しないことを期待してください)
  2. これはjspの問題ではなくjavascriptの問題なので、タグが間違っています。
  3. DOM の読み込みが完了する前に、ID で要素を取得しようとしているという問題があると思います。

    document.getElementById("midradio").onclick = select1; document.getElementById("subzonerd").onclick = select2;

この 2 行を HTML の最後に配置するか、DOM の準備ができた後に呼び出される関数に配置する必要があります: http://www.w3schools.com/jsref/event_body_onload.asp

「subzonerd」入力要素には、html に onclick 関数が既に設定されているため、後で別の問題が発生する可能性があります。

于 2012-11-30T13:47:46.450 に答える