0

2つの選択ボックスがあります。両方ともデータベースから入力する必要があります。2番目の選択ボックスは、最初の選択ボックスで選択したオプションに基づいて入力する必要があります。データベース接続は成功し、最初の選択ボックスに入力できます。しかし、私はしません。最初の選択ボックスにデータを入力するために使用したfirst.codeに基づいて、2番目の選択ボックスにデータを入力する方法を知っています。

        <select class="weekcombo">
        <%
        List list= new DataManager().getlist();
        for(int i = 0; i < list.size(); i++) {
        out.write("<option value=\""+ list.get(i)+ "\">"+ list.get(i));
        }
        %>

これにサーブレットを使用するか、他の何かを使用するかはわかりません。

4

2 に答える 2

1

最初の選択ボックスでは、上記のコードで説明したように、デフォルトで値を入力できます。

<select class="weekcombo" onchange="populateSecValues(this)">
    <%
        List list= new DataManager().getlist();
        for(int i = 0; i < list.size(); i++) {
            out.write("<option value=\""+ list.get(i)+ "\">"+ list.get(i));
        }
    %>
</select>

<select id="secBox" class="weekcombo">
</select>

Javascript: urlStringでは、以下のコードスニペットで渡したように、最初の選択ボックスの値を渡すことができます。

function populateSecValues(obj){
       // use here ajax call .. which will populate second box data 
     var firstBoxValue = obj.value;
     var urlString ="your_action_url?firstBoxValue="+firstBoxValue ;
     $.ajax({
         type: "POST",
         url: urlString  ,
         success: function(result) {
           console.info("result"+result);
           $("#secBox").html(result);
    }
});
}

サーバーから、次の形式で値を入力します

<option value ="secBoxValue">secBoxValue</option>
于 2013-03-18T06:31:52.150 に答える
0

SagarDalviには良い解決策があります。最初に選択した項目に基づいて2番目の選択ボックスにデータを入力する唯一の方法は、Javascriptを使用することです。これは、Javascriptを使用しない限り、ユーザーが選択を行う前に、ページの読み込み時に2番目の選択ボックスの内容を知る必要があるためです。

Javascriptを使用すると、ユーザーがAJAX呼び出しを使用して最初に選択を行ったときに、ページは2番目の選択ボックスにオプションを動的にロードできます。

javascriptを使用せずにこれを回避する唯一の方法は、フォームを複数のページにまたがらせることです。したがって、2番目の選択ボックスは次のページにあります。

于 2013-03-18T10:23:27.517 に答える